source: icGREP/icgrep-devel/icgrep/kernels/p2s_kernel.h @ 5261

Last change on this file since 5261 was 5261, checked in by cameron, 9 months ago

Move responsibility for ProducedItemCount? into doSegment unless overridden

File size: 1.2 KB
Line 
1/*
2 *  Copyright (c) 2016 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 */
5#ifndef P2S_KERNEL_H
6#define P2S_KERNEL_H
7
8#include "streamset.h"
9#include "interface.h"
10#include "kernel.h"
11
12namespace llvm { class Module; }
13
14namespace IDISA { class IDISA_Builder; }
15
16namespace kernel {
17
18   
19class P2SKernel : public KernelBuilder {
20public:
21    P2SKernel(IDISA::IDISA_Builder * iBuilder);
22   
23private:
24    void generateDoBlockMethod() const override;
25   
26};
27
28class P2SKernelWithCompressedOutput : public KernelBuilder {
29public:
30    P2SKernelWithCompressedOutput(IDISA::IDISA_Builder * iBuilder);   
31private:
32    void generateDoBlockMethod() const override;
33};
34   
35
36class P2S16Kernel : public KernelBuilder {
37public:
38    P2S16Kernel(IDISA::IDISA_Builder * iBuilder);   
39private:
40    void generateDoBlockMethod() const override;
41   
42};
43
44   
45class P2S16KernelWithCompressedOutput : public KernelBuilder {
46public:
47    P2S16KernelWithCompressedOutput(IDISA::IDISA_Builder * iBuilder);
48       
49private:
50    void generateDoBlockMethod() const override;
51    void generateFinalBlockMethod() const override;
52};
53   
54}
55
56#endif
Note: See TracBrowser for help on using the repository browser.