aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/fixtures/ActivationLayerFixture.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/validation/fixtures/ActivationLayerFixture.h')
-rw-r--r--tests/validation/fixtures/ActivationLayerFixture.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/validation/fixtures/ActivationLayerFixture.h b/tests/validation/fixtures/ActivationLayerFixture.h
index f6d43ddd89..3294986519 100644
--- a/tests/validation/fixtures/ActivationLayerFixture.h
+++ b/tests/validation/fixtures/ActivationLayerFixture.h
@@ -150,8 +150,9 @@ protected:
private:
QuantizationInfo calculate_output_quantization_info(DataType dt, const ActivationLayerInfo &act_info, const QuantizationInfo &default_qinfo)
{
- auto qasymm8_max = float(std::numeric_limits<uint8_t>::max()) + 1.f;
- auto qsymm16_max = float(std::numeric_limits<int16_t>::max()) + 1.f;
+ auto qasymm8_max = float(std::numeric_limits<uint8_t>::max()) + 1.f;
+ auto qasymm8_signed_max = float(std::numeric_limits<int8_t>::max()) + 1.f;
+ auto qsymm16_max = float(std::numeric_limits<int16_t>::max()) + 1.f;
switch(act_info.activation())
{
@@ -164,6 +165,10 @@ private:
{
return QuantizationInfo(1.f / (0.5 * qasymm8_max), int(0.5 * qasymm8_max));
}
+ else if(dt == DataType::QASYMM8_SIGNED)
+ {
+ return QuantizationInfo(1.f / qasymm8_signed_max, 0);
+ }
else
{
return default_qinfo;
@@ -177,6 +182,10 @@ private:
{
return QuantizationInfo(1.f / qasymm8_max, 0);
}
+ else if(dt == DataType::QASYMM8_SIGNED)
+ {
+ return QuantizationInfo(1.f / (2.f * qasymm8_signed_max), -int(qasymm8_signed_max));
+ }
else
{
return default_qinfo;