16enum class DataType : uint8_t {
35 static constexpr DataType value = DataType::Bool;
39 static constexpr DataType value = DataType::Int16;
43 static constexpr DataType value = DataType::Int32;
47 static constexpr DataType value = DataType::Int64;
51 static constexpr DataType value = DataType::Float32;
55 static constexpr DataType value = DataType::Float64;
68inline DataType type_upcast(DataType a_type, DataType b_type) {
69 return static_cast<DataType
>(
70 std::max(
static_cast<uint8_t
>(a_type),
static_cast<uint8_t
>(b_type)));
73inline std::ostream& operator<<(std::ostream& os, DataType dtype) {
87 case DataType::Float32:
90 case DataType::Float64:
94 os <<
"Unknown DataType";