diff options
author | Jeremy Johnson <jeremy.johnson@arm.com> | 2023-11-06 17:46:02 +0000 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2023-11-16 21:24:23 +0000 |
commit | 2d70ac4c02808609feb357488dcd080bd6fc5ba5 (patch) | |
tree | 7038f213a79b4d2daa5cfcf35e7f1fec54218f3e /reference_model/src/verify/verify_utils.cc | |
parent | a4e5139312fbcbaedc998bfde6a0bb3479a388e6 (diff) | |
download | reference_model-2d70ac4c02808609feb357488dcd080bd6fc5ba5.tar.gz |
Main Compliance testing for simple UNARY ops
For RECIPROCAL, RSQRT, CEIL, FLOOR, ABS, NEGATE & IDENTITY.
Improved ULP informational output.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I49644573b4c9a30b2b9d6c9624f2a1d46976a378
Diffstat (limited to 'reference_model/src/verify/verify_utils.cc')
-rw-r--r-- | reference_model/src/verify/verify_utils.cc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/reference_model/src/verify/verify_utils.cc b/reference_model/src/verify/verify_utils.cc index 99cb0c1..9b20fb2 100644 --- a/reference_model/src/verify/verify_utils.cc +++ b/reference_model/src/verify/verify_utils.cc @@ -121,6 +121,32 @@ int64_t numElements(const std::vector<int32_t>& shape) return std::accumulate(std::begin(shape), std::end(shape), 1, std::multiplies<int64_t>()); } +std::vector<int32_t> indexToPosition(int64_t index, const std::vector<int32_t>& shape) +{ + std::vector<int32_t> pos; + for (auto d = shape.end() - 1; d >= shape.begin(); --d) + { + pos.insert(pos.begin(), index % *d); + index /= *d; + } + return pos; +} + +std::string positionToString(const std::vector<int32_t>& pos) +{ + std::string str = "["; + for (auto d = pos.begin(); d < pos.end(); ++d) + { + str.append(std::to_string(*d)); + if (pos.end() - d > 1) + { + str.append(","); + } + } + str.append("]"); + return str; +} + DType mapToDType(tosa_datatype_t dataType) { static std::map<tosa_datatype_t, DType> typeMap = { |