[reference model] Add shape operators
- fixed up reshape conformance tests to use shape input instead of attribute
- fixed up tile conformance tests to use shape input instead of attribute
- fixed output and output rank of dim op
- allow rank 0 and rank 1 tensors for tosa.shape values (for shape = {})
- added initialization of rank 0 const_shape tensors (for shape = {})
- Update conformance tests to use new rescale attributes
Signed-off-by: Tai Ly <tai.ly@arm.com>
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: I6cce0d2a9ab066fe20a2abf9d2cfde3eb3d8c18b
diff --git a/reference_model/src/tensor.h b/reference_model/src/tensor.h
index 5bcd1b2..cd71f9f 100644
--- a/reference_model/src/tensor.h
+++ b/reference_model/src/tensor.h
@@ -1,5 +1,5 @@
-// Copyright (c) 2020-2023, ARM Limited.
+// Copyright (c) 2020-2024, ARM Limited.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -855,8 +855,16 @@
}
break;
case TOSA_REF_TYPE_SHAPE:
- assert(rank == 0);
- return new Tensor0<int64_t>(tensorName_, dtype_, shape_);
+ switch (rank)
+ {
+ case 0:
+ return new Tensor0<int64_t>(tensorName_, dtype_, shape_);
+ case 1:
+ return new Tensor1<int64_t>(tensorName_, dtype_, shape_);
+ default:
+ assert(0); // shape tensors must have rank of 0 or 1
+ }
+ break;
case TOSA_REF_TYPE_BOOL:
switch (rank)
{