diff options
Diffstat (limited to 'reference_model/include/dtype.h')
-rw-r--r-- | reference_model/include/dtype.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/reference_model/include/dtype.h b/reference_model/include/dtype.h index 3e8bdf5..a283f39 100644 --- a/reference_model/include/dtype.h +++ b/reference_model/include/dtype.h @@ -145,6 +145,35 @@ inline TOSA_REF_TYPE ConvertDType(const DType dtype) return TOSA_REF_TYPE_UNKNOWN; } +template <TOSA_REF_TYPE Dtype> +bool IsSignedInt() +{ + switch (Dtype) + { + case TOSA_REF_TYPE_INT4: + case TOSA_REF_TYPE_INT8: + case TOSA_REF_TYPE_INT16: + case TOSA_REF_TYPE_INT32: + case TOSA_REF_TYPE_INT48: + return true; + + case TOSA_REF_TYPE_UINT8: + case TOSA_REF_TYPE_UINT16: + return false; + + case TOSA_REF_TYPE_BOOL: + case TOSA_REF_TYPE_FP32: + case TOSA_REF_TYPE_FP16: + case TOSA_REF_TYPE_BF16: + case TOSA_REF_TYPE_SHAPE: + case TOSA_REF_TYPE_FP8E4M3: + case TOSA_REF_TYPE_FP8E5M2: + default: + FATAL_ERROR("dtype is not an integer type"); + break; + } +} + }; // namespace TosaReference #endif |