aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/ops/template_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'reference_model/src/ops/template_types.h')
-rw-r--r--reference_model/src/ops/template_types.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/reference_model/src/ops/template_types.h b/reference_model/src/ops/template_types.h
index 0fe9a41..2bc7e04 100644
--- a/reference_model/src/ops/template_types.h
+++ b/reference_model/src/ops/template_types.h
@@ -23,7 +23,7 @@ using namespace tosa;
namespace TosaReference
{
-// Shorter aliase templates for common Eigen::Tensor types
+// Shorter alias templates for common Eigen::Tensor types
template <typename T>
using ETensor0 = Eigen::Tensor<T, 0>;
template <typename T>
@@ -89,6 +89,11 @@ struct GetEigenType<DType_UINT8>
using type = int32_t;
};
template <>
+struct GetEigenType<DType_UINT16>
+{
+ using type = int32_t;
+};
+template <>
struct GetEigenType<DType_INT4>
{
using type = int32_t;
@@ -121,6 +126,11 @@ struct GetNumBits<DType_UINT8>
static constexpr int32_t value = 8;
};
template <>
+struct GetNumBits<DType_UINT16>
+{
+ static constexpr int32_t value = 16;
+};
+template <>
struct GetNumBits<DType_INT4>
{
static constexpr int32_t value = 4;
@@ -158,6 +168,11 @@ struct GetQMin<DType_UINT8>
static constexpr int64_t value = 0L;
};
template <>
+struct GetQMin<DType_UINT16>
+{
+ static constexpr int64_t value = 0L;
+};
+template <>
struct GetQMin<DType_INT4>
{
static constexpr int64_t value = -8L;
@@ -194,6 +209,11 @@ struct GetQMax<DType_UINT8>
static constexpr int64_t value = 255L;
};
template <>
+struct GetQMax<DType_UINT16>
+{
+ static constexpr int64_t value = 65535L;
+};
+template <>
struct GetQMax<DType_INT4>
{
static constexpr int64_t value = 7L;