aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/ops/reduction.h
diff options
context:
space:
mode:
authorKevin Cheng <kevin.cheng@arm.com>2021-06-29 15:32:19 -0700
committerKevin Cheng <kevin.cheng@arm.com>2021-08-20 18:07:06 +0100
commitacb550f4410ae861e53cae27a9feb4b11d45769f (patch)
treeae2f4ec558c2cdf1afa020b80a09d7ab4be5ef6d /reference_model/src/ops/reduction.h
parent68e7aee65bda5ac03fa7def753b7dc7462554793 (diff)
downloadreference_model-acb550f4410ae861e53cae27a9feb4b11d45769f.tar.gz
Replace node level check ASSERT_MSG_NODE()/FATAL_ERROR_NODE() with REQUIRE() or ERROR_IF()
- Adding return code enum class: {VALID, UNPREDICTABLE, ERROR} - Runtime errors (e.g. memory allocation failure) will abort immediately, or will return one of the three return codes Part of the codes are re-written to pass REQUIRE() to the top-level (e.g. apply_scale_32/16()) - Update setExpectedFailure() to setExpectedReturnCode() on test generation script - Update test regression script to interface with reference model change Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: Ia063c936bcb2a54d6e379a5bb6801aa72d1186f1
Diffstat (limited to 'reference_model/src/ops/reduction.h')
-rw-r--r--reference_model/src/ops/reduction.h26
1 files changed, 13 insertions, 13 deletions
diff --git a/reference_model/src/ops/reduction.h b/reference_model/src/ops/reduction.h
index cf75812..f4e29b9 100644
--- a/reference_model/src/ops/reduction.h
+++ b/reference_model/src/ops/reduction.h
@@ -27,7 +27,7 @@ template <int Rank, DType Dtype>
class ReduceNode : public GraphNode
{
public:
- ReduceNode(const Op& nodeType, TosaAttributeBase* attribute_, const uint64_t id_);
+ ReduceNode(SubgraphTraverser* sgt_, const Op& nodeType, TosaAttributeBase* attribute_, const uint64_t id_);
virtual ~ReduceNode();
virtual int checkTensorAttributes();
virtual int eval() = 0;
@@ -48,8 +48,8 @@ template <int Rank, DType Dtype>
class OpReduceAll : public ReduceNode<Rank, Dtype>
{
public:
- OpReduceAll(TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
- : ReduceNode<Rank, Dtype>(Op_REDUCE_ALL, attribute_, id_)
+ OpReduceAll(SubgraphTraverser* sgt_, TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
+ : ReduceNode<Rank, Dtype>(sgt_, Op_REDUCE_ALL, attribute_, id_)
{}
virtual int eval();
};
@@ -58,8 +58,8 @@ template <int Rank, DType Dtype>
class OpReduceAny : public ReduceNode<Rank, Dtype>
{
public:
- OpReduceAny(TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
- : ReduceNode<Rank, Dtype>(Op_REDUCE_ALL, attribute_, id_)
+ OpReduceAny(SubgraphTraverser* sgt_, TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
+ : ReduceNode<Rank, Dtype>(sgt_, Op_REDUCE_ALL, attribute_, id_)
{}
virtual int eval();
};
@@ -68,8 +68,8 @@ template <int Rank, DType Dtype>
class OpReduceMax : public ReduceNode<Rank, Dtype>
{
public:
- OpReduceMax(TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
- : ReduceNode<Rank, Dtype>(Op_REDUCE_MAX, attribute_, id_)
+ OpReduceMax(SubgraphTraverser* sgt_, TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
+ : ReduceNode<Rank, Dtype>(sgt_, Op_REDUCE_MAX, attribute_, id_)
{}
virtual int eval();
};
@@ -78,8 +78,8 @@ template <int Rank, DType Dtype>
class OpReduceMin : public ReduceNode<Rank, Dtype>
{
public:
- OpReduceMin(TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
- : ReduceNode<Rank, Dtype>(Op_REDUCE_MIN, attribute_, id_)
+ OpReduceMin(SubgraphTraverser* sgt_, TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
+ : ReduceNode<Rank, Dtype>(sgt_, Op_REDUCE_MIN, attribute_, id_)
{}
virtual int eval();
};
@@ -88,8 +88,8 @@ template <int Rank, DType Dtype>
class OpReduceProduct : public ReduceNode<Rank, Dtype>
{
public:
- OpReduceProduct(TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
- : ReduceNode<Rank, Dtype>(Op_REDUCE_PRODUCT, attribute_, id_)
+ OpReduceProduct(SubgraphTraverser* sgt_, TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
+ : ReduceNode<Rank, Dtype>(sgt_, Op_REDUCE_PRODUCT, attribute_, id_)
{}
virtual int eval();
};
@@ -98,8 +98,8 @@ template <int Rank, DType Dtype>
class OpReduceSum : public ReduceNode<Rank, Dtype>
{
public:
- OpReduceSum(TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
- : ReduceNode<Rank, Dtype>(Op_REDUCE_SUM, attribute_, id_)
+ OpReduceSum(SubgraphTraverser* sgt_, TosaAttributeBase* attribute_, TosaQuantInfoBase* qinfo_, uint64_t id_)
+ : ReduceNode<Rank, Dtype>(sgt_, Op_REDUCE_SUM, attribute_, id_)
{}
virtual int eval();
};