aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/ops/image.cc
diff options
context:
space:
mode:
authorJerry Ge <jerry.ge@arm.com>2023-04-11 00:05:02 +0000
committerJerry Ge <jerry.ge@arm.com>2023-04-20 22:53:37 +0000
commita793f4645d2c04543572de4d0bc84bf0a3689604 (patch)
treecfa8ff162c9315f079682c0913110ad25eb22cad /reference_model/src/ops/image.cc
parent714aa6039a7e3585bf81ac90ce301767c08295af (diff)
downloadreference_model-a793f4645d2c04543572de4d0bc84bf0a3689604.tar.gz
Add level checking to TOSA Ref model
Signed-off-by: Jerry Ge <jerry.ge@arm.com> Change-Id: I5689d7c6b902a319a68fa4628b59e0bcc23aeca4
Diffstat (limited to 'reference_model/src/ops/image.cc')
-rw-r--r--reference_model/src/ops/image.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/reference_model/src/ops/image.cc b/reference_model/src/ops/image.cc
index 90427e4..190b354 100644
--- a/reference_model/src/ops/image.cc
+++ b/reference_model/src/ops/image.cc
@@ -111,6 +111,11 @@ int OpResize<InDtype, OutDtype, resize_t>::eval()
int16_t border_y = border[0];
int16_t border_x = border[1];
+ // Check Tosa Level
+ auto tosa_level = g_func_config.tosa_level;
+ LEVEL_CHECK(scale_y_n / scale_y_d <= tosa_level.MAX_SCALE, "scale_y_n / scale_y_d should be smaller than or equal to MAX_SCALE");
+ LEVEL_CHECK(scale_x_n / scale_x_d <= tosa_level.MAX_SCALE, "scale_x_n / scale_x_d should be smaller than or equal to MAX_SCALE");
+
ERROR_IF(std::max<int>({ in_height, in_width, out_height, out_width }) >= 16384,
"OpResize: exceeds maximum dimension");
ERROR_IF(in_batch != out_batch, "OpResize: output tensor batch mismatch");