Go to the documentation of this file.
25 #ifndef MXNET_RUNTIME_DATA_TYPE_H_
26 #define MXNET_RUNTIME_DATA_TYPE_H_
29 #include <dmlc/logging.h>
30 #include <type_traits>
63 data_.
code =
static_cast<uint8_t
>(
code);
64 data_.
bits =
static_cast<uint8_t
>(
bits);
69 return static_cast<int>(data_.
code);
73 return static_cast<int>(data_.
bits);
77 return (
bits() + 7) / 8;
81 return static_cast<int>(data_.
lanes);
213 #endif // MXNET_RUNTIME_DATA_TYPE_H_
bool operator!=(const MXNetDataType &other) const
NotEqual comparator.
Definition: data_type.h:148
namespace of mxnet
Definition: api_registry.h:33
@ kDLFloat
Definition: dlpack.h:82
The data type the tensor can hold.
Definition: dlpack.h:94
MXNetDataType(int code, int bits, int lanes)
Constructor.
Definition: data_type.h:62
int bits() const
Definition: data_type.h:72
int bytes() const
Definition: data_type.h:76
bool is_uint() const
Definition: data_type.h:100
int code() const
Definition: data_type.h:68
MXNetDataType with_bits(int bits) const
Create a new data type by change bits to a specified value.
Definition: data_type.h:124
@ kUInt
Definition: data_type.h:45
MXNetDataType(DLDataType dtype)
Constructor.
Definition: data_type.h:55
int lanes() const
Definition: data_type.h:80
static MXNetDataType Bool(int lanes=1)
Construct a bool type.
Definition: data_type.h:191
bool operator==(const MXNetDataType &other) const
Equal comparator.
Definition: data_type.h:139
TypeCode
Type code for the MXNetDataType.
Definition: data_type.h:43
uint8_t code
Type code of base types. We keep it uint8_t instead of DLDataTypeCode for minimal memory footprint,...
Definition: dlpack.h:100
@ kHandle
Definition: data_type.h:47
uint8_t bits
Number of bits, common choices are 8, 16, 32.
Definition: dlpack.h:104
@ kDLInt
Definition: dlpack.h:80
bool is_vector() const
Definition: data_type.h:108
@ kDLUInt
Definition: dlpack.h:81
MXNetDataType()
default constructor
Definition: data_type.h:50
bool is_bool() const
Definition: data_type.h:88
bool is_float() const
Definition: data_type.h:92
@ kHandle
Definition: c_runtime_api.h:45
MXNetDataType with_lanes(int lanes) const
Create a new data type by change lanes to a specified value.
Definition: data_type.h:116
runtime::MXNetDataType MXNetDataType
Definition: data_type.h:210
bool is_scalar() const
Definition: data_type.h:84
bool is_int() const
Definition: data_type.h:96
Runtime primitive data type.
Definition: data_type.h:40
static MXNetDataType Handle(int bits=64, int lanes=1)
Construct a handle type.
Definition: data_type.h:200
static MXNetDataType UInt(int bits, int lanes=1)
Construct an uint type.
Definition: data_type.h:174
uint16_t lanes
Number of lanes in the type, used for vector types.
Definition: dlpack.h:106
MXNetDataType element_of() const
Get the scalar version of the type.
Definition: data_type.h:131
static MXNetDataType Float(int bits, int lanes=1)
Construct an uint type.
Definition: data_type.h:183
@ kInt
Definition: data_type.h:44
bool is_handle() const
Definition: data_type.h:104
@ kFloat
Definition: data_type.h:46
static MXNetDataType Int(int bits, int lanes=1)
Construct an int type.
Definition: data_type.h:165