aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/data_type.py
diff options
context:
space:
mode:
Diffstat (limited to 'ethosu/vela/data_type.py')
-rw-r--r--ethosu/vela/data_type.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/ethosu/vela/data_type.py b/ethosu/vela/data_type.py
index 07086d6b..470504d2 100644
--- a/ethosu/vela/data_type.py
+++ b/ethosu/vela/data_type.py
@@ -18,6 +18,8 @@
import enum
from typing import Any
+import numpy as np
+
from .numeric_util import round_up_divide
@@ -99,6 +101,16 @@ class DataType:
__repr__ = __str__
+ def as_numpy_type(self):
+ numpy_dtype_code = {
+ BaseType.UnsignedInt: "u",
+ BaseType.SignedInt: "i",
+ BaseType.Float: "f",
+ BaseType.Complex: "c",
+ }
+ assert self.type in numpy_dtype_code, f"Failed to interpret {self} as a numpy dtype"
+ return np.dtype(numpy_dtype_code[self.type] + str(self.size_in_bytes()))
+
stem_name = {
BaseType.UnsignedInt: ("uint%s", True),
BaseType.SignedInt: ("int%s", True),