source: icGREP/icgrep-devel/icgrep/pablo/pe_integer.h @ 5160

Last change on this file since 5160 was 5160, checked in by nmedfort, 3 years ago

Initial work for incorporating Types into Pablo AST.

File size: 700 bytes
Line 
1#ifndef PE_INTEGER_H
2#define PE_INTEGER_H
3
4#include <pablo/pabloAST.h>
5
6namespace pablo {
7
8class Integer : public PabloAST {
9    friend class SymbolGenerator;
10public:
11    typedef u_int64_t Type;
12    static inline bool classof(const PabloAST * e) {
13        return e->getClassTypeId() == ClassTypeId::Integer;
14    }
15    static inline bool classof(const void *) {
16        return false;
17    }
18    virtual ~Integer(){
19
20    }
21    inline Type value() const {
22        return mValue;
23    }
24protected:
25    Integer(const Type value) noexcept
26    : PabloAST(ClassTypeId::Integer, getPabloType(PabloType::Scalar, 64))
27    , mValue(value)
28    {
29
30    }
31private:
32    const Type mValue;
33};
34
35}
36
37#endif // PE_INTEGER_H
Note: See TracBrowser for help on using the repository browser.