source: icGREP/icgrep-devel/icgrep/kernels/streams_merge.h @ 5960

Last change on this file since 5960 was 5960, checked in by cameron, 13 months ago

StreamsIntersect? kernel

File size: 1.0 KB
Line 
1/*
2 *  Copyright (c) 2017 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 */
5#ifndef STREAMSMERGE_H
6#define STREAMSMERGE_H
7
8#include "kernel.h"
9namespace IDISA { class IDISA_Builder; }
10
11namespace kernel {
12
13class StreamsMerge : public BlockOrientedKernel {
14public:
15   
16    StreamsMerge(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, unsigned streamsPerSet=1, unsigned inputSets = 1);
17   
18protected:
19   
20    void generateDoBlockMethod(const std::unique_ptr<kernel::KernelBuilder> & iBuilder) override;
21   
22private:
23    const unsigned mStreamsPerSet;
24    const unsigned mInputSets;
25};
26
27class StreamsIntersect : public BlockOrientedKernel {
28public:
29   
30    StreamsIntersect(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, unsigned streamsPerSet=1, unsigned inputSets = 1);
31   
32protected:
33   
34    void generateDoBlockMethod(const std::unique_ptr<kernel::KernelBuilder> & iBuilder) override;
35   
36private:
37    const unsigned mStreamsPerSet;
38    const unsigned mInputSets;
39};
40
41}
42   
43#endif
44
Note: See TracBrowser for help on using the repository browser.