source: icGREP/icgrep-devel/icgrep/kernels/lz4/twist_kernel.h @ 6140

Last change on this file since 6140 was 6140, checked in by xwa163, 15 months ago

UTF-8 support for Multiplexing LZ4 Grep

File size: 1022 bytes
Line 
1
2
3#ifndef ICGREP_TWIST_KERNEL_H
4#define ICGREP_TWIST_KERNEL_H
5
6
7#include "kernels/kernel.h"
8
9namespace IDISA { class IDISA_Builder; }
10
11namespace kernel {
12
13    class TwistByPDEPKernel final : public BlockOrientedKernel {
14    public:
15        TwistByPDEPKernel(const std::unique_ptr <kernel::KernelBuilder> &b, unsigned numberOfInputStream, unsigned twistWidth);
16
17    private:
18        const unsigned mNumberOfInputStream;
19        const unsigned mTwistWidth;
20
21        void generateDoBlockMethod(const std::unique_ptr <kernel::KernelBuilder> &b) override;
22    };
23
24
25    class TwistMultipleByPDEPKernel final : public BlockOrientedKernel {
26    public:
27        TwistMultipleByPDEPKernel(const std::unique_ptr <kernel::KernelBuilder> &b, unsigned numberOfInputStreamSet, unsigned twistWidth);
28
29    private:
30        const unsigned mNumberOfInputStreamSet;
31        const unsigned mTwistWidth;
32
33        void generateDoBlockMethod(const std::unique_ptr <kernel::KernelBuilder> &b) override;
34    };
35
36
37}
38
39
40#endif //ICGREP_TWIST_KERNEL_H
Note: See TracBrowser for help on using the repository browser.