38 #include "Core/include/private/DMemory.hpp"
56 typedef unsigned int UINT;
57 typedef unsigned long ULONG;
59 typedef uint8_t UINT8;
60 typedef uint16_t UINT16;
61 typedef uint32_t UINT32;
63 typedef unsigned char UINT8;
64 typedef unsigned short UINT16;
65 typedef unsigned int UINT32;
68 typedef unsigned __int64 UINT64;
70 typedef uint64_t UINT64;
77 typedef signed char INT8;
86 enum DType { DtUINT8, DtUINT16, DtUINT32, DtUINT64, DtINT, DtUINT };
90 typedef pixelType *lineType;
92 typedef pixelType *restrictLineType;
95 typedef lineType *sliceType;
96 typedef sliceType *volType;
98 typedef std::vector<T, Allocator<T>> vectorType;
100 typedef std::vector<vectorType> matrixType;
102 typedef double floatType;
104 static inline pixelType min()
106 return numeric_limits<T>::min();
108 static inline pixelType max()
110 return numeric_limits<T>::max();
112 static inline size_t cardinal()
114 return size_t(max() - min()) + 1;
116 static inline lineType createLine(
size_t lineLen)
118 return createAlignedBuffer<T>(lineLen);
120 static inline void deleteLine(lineType line)
122 deleteAlignedBuffer<T>(line);
124 static inline size_t ptrOffset(lineType p,
size_t n = SIMD_VEC_SIZE)
126 return ((
size_t) p) & (n - 1);
128 static inline std::string toString(
const T &val)
137 inline const char *getDataTypeAsString(T * = (T *) NULL)
142 #define DECL_DATA_TYPE_STR(_type) \
143 template <> inline const char *getDataTypeAsString(_type *) \
148 DECL_DATA_TYPE_STR(UINT8)
149 DECL_DATA_TYPE_STR(UINT16)
150 DECL_DATA_TYPE_STR(UINT32)
151 DECL_DATA_TYPE_STR(INT8)
152 DECL_DATA_TYPE_STR(INT16)
155 DECL_DATA_TYPE_STR(
int)
156 DECL_DATA_TYPE_STR(
float)
157 DECL_DATA_TYPE_STR(
double)
Definition: DTypes.hpp:88