17namespace experimental {
19enum class ScalarEnum : uint8_t {
32template <
typename T,
typename T2 =
void>
39 static constexpr ScalarEnum value = ScalarEnum::INT8;
40 static constexpr const char* name =
"int8_t";
46 static constexpr ScalarEnum value = ScalarEnum::INT16;
47 static constexpr const char* name =
"int16_t";
53 static constexpr ScalarEnum value = ScalarEnum::INT32;
54 static constexpr const char* name =
"int32_t";
60 static constexpr ScalarEnum value = ScalarEnum::INT64;
61 static constexpr const char* name =
"int64_t";
67 static constexpr ScalarEnum value = ScalarEnum::UINT8;
68 static constexpr const char* name =
"uint8_t";
74 static constexpr ScalarEnum value = ScalarEnum::UINT16;
75 static constexpr const char* name =
"uint16_t";
81 static constexpr ScalarEnum value = ScalarEnum::UINT32;
82 static constexpr const char* name =
"uint32_t";
88 static constexpr ScalarEnum value = ScalarEnum::UINT64;
89 static constexpr const char* name =
"uint64_t";
95 static_assert(
sizeof(float) == 4,
"sizeof(float) == 4");
96 static constexpr ScalarEnum value = ScalarEnum::FLOAT;
97 static constexpr const char* name =
"float";
103 static_assert(
sizeof(double) == 8,
"sizeof(double) == 8");
104 static constexpr ScalarEnum value = ScalarEnum::DOUBLE;
105 static constexpr const char* name =
"double";
112template <ScalarEnum type>
126 using type = int16_t;
132 using type = int32_t;
138 using type = int64_t;
144 using type = uint8_t;
150 using type = uint16_t;
156 using type = uint32_t;
162 using type = uint64_t;
177template <ScalarEnum T>
183inline std::string enum_to_name(ScalarEnum t)
186 case ScalarEnum::INT8:
188 case ScalarEnum::INT16:
190 case ScalarEnum::INT32:
192 case ScalarEnum::INT64:
194 case ScalarEnum::UINT8:
196 case ScalarEnum::UINT16:
198 case ScalarEnum::UINT32:
200 case ScalarEnum::UINT64:
202 case ScalarEnum::FLOAT:
204 case ScalarEnum::DOUBLE:
Main namespace for Lagrange.
Definition: AABBIGL.h:30