From 0601f80afd9c160a1454d5cd0f22a04f2f91eb75 Mon Sep 17 00:00:00 2001 From: Jeremy Johnson Date: Wed, 8 Nov 2023 16:28:09 +0000 Subject: Main Compliance testing support for AVG_POOL2D Fix test set 4 to have more symmetrical data set for AVG_POOL2D. Increased size of AVG_POOL2D test shapes to meet MIN_DOT_PRODUCTS. Print out sign of bias magnitude in verify library to help debugging. Signed-off-by: Jeremy Johnson Change-Id: Icf139cf5788cbc68f2c537567bdfb4cfe31274df --- .../src/generate/generate_dot_product_states.cc | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'reference_model/src/generate/generate_dot_product_states.cc') diff --git a/reference_model/src/generate/generate_dot_product_states.cc b/reference_model/src/generate/generate_dot_product_states.cc index 53bef3a..9ce32ff 100644 --- a/reference_model/src/generate/generate_dot_product_states.cc +++ b/reference_model/src/generate/generate_dot_product_states.cc @@ -209,9 +209,23 @@ public: const float s0 = _set_data0(); const float s1 = _set_data1(); if (_p == P0) - return (k == _KS / 2) ? +0.5f : s0 < 0 ? 0.f : (_B / std::sqrt(_KS)) * s1; + if (k == _KS / 2) + { + return s0 < 0 ? -0.5f : +0.5f; + } + else + { + return s0 < 0 ? 0.f : (_B / std::sqrt(_KS)) * s1; + } else if (_p == P1) - return (k == _KS / 2) ? -0.5f : s0 < 0 ? (_B / std::sqrt(_KS)) * s1 : 0.f; + if (k == _KS / 2) + { + return s0 < 0 ? +0.5f : -0.5f; + } + else + { + return s0 < 0 ? (_B / std::sqrt(_KS)) * s1 : 0.f; + } else return 0.f; } -- cgit v1.2.1