aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/ops/op_factory.h
diff options
context:
space:
mode:
authorJames Ward <james.ward@arm.com>2023-01-18 14:51:25 +0000
committerEric Kunze <eric.kunze@arm.com>2023-02-02 22:03:25 +0000
commitd34b3fc5eeef48ecc781a02433ce022a28e3373c (patch)
tree13aa36aa89c618e56eb2f51915a172ff8e4276d9 /reference_model/src/ops/op_factory.h
parent512c1caa8b6d494de81f3ac83a6ebb96e1e0f8e0 (diff)
downloadreference_model-d34b3fc5eeef48ecc781a02433ce022a28e3373c.tar.gz
Remove accumulator attributes from all but AVG_POOL2D
Signed-off-by: James Ward <james.ward@arm.com> Change-Id: If67f503a1848967bc1671646c3011d055b622c52
Diffstat (limited to 'reference_model/src/ops/op_factory.h')
-rw-r--r--reference_model/src/ops/op_factory.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/reference_model/src/ops/op_factory.h b/reference_model/src/ops/op_factory.h
index f4177db..9117df4 100644
--- a/reference_model/src/ops/op_factory.h
+++ b/reference_model/src/ops/op_factory.h
@@ -74,6 +74,12 @@
return new OP<DType_##DTYPE1, DType_##DTYPE2>(sgt, attribute, id); \
}
+#define DEF_FACTORY_TWO_TYPE_IN_OUT(OP, DTYPE1, DTYPE2) \
+ if (inputDType == DType_##DTYPE1 && outputDType == DType_##DTYPE2) \
+ { \
+ return new OP<DType_##DTYPE1, DType_##DTYPE2>(sgt, attribute, id); \
+ }
+
#define DEF_FACTORY_TWO_TYPE_ONE_ACCUM(OP, ATTR_NAME, DTYPE1, DTYPE2, ACCUM_DTYPE) \
if (inputDType == DType_##DTYPE1 && weightDType == DType_##DTYPE2 \
&& ACCUM_FROM_ATTRIBUTE(ATTR_NAME) == DType_##ACCUM_DTYPE) \
@@ -81,6 +87,12 @@
return new OP<DType_##DTYPE1, DType_##DTYPE2, DType_##ACCUM_DTYPE>(sgt, attribute, id); \
} \
+#define DEF_FACTORY_THREE_TYPE(OP, DTYPE1, DTYPE2, DTYPE3) \
+ if (inputDType == DType_##DTYPE1 && weightDType == DType_##DTYPE2 && outputDType == DType_##DTYPE3) \
+ { \
+ return new OP<DType_##DTYPE1, DType_##DTYPE2, DType_##DTYPE3>(sgt, attribute, id); \
+ }
+
// Statement-expression to evaluate accumulate attribute in-place
#define ACCUM_FROM_ATTRIBUTE(ATTRIBUTE_NAME) \
({ \