aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominic Symes <dominic.symes@arm.com>2023-11-30 10:56:33 +0000
committerDominic Symes <dominic.symes@arm.com>2023-12-04 11:21:18 +0000
commit2bc6c57eb24f71131ebfe631e89522eb5ce008e7 (patch)
treec3317a8560b46cfb3a8122016a6c71255cdd8be9
parent9151dd5b223ea069e4c9526e9e82442edaf525d0 (diff)
downloadspecification-2bc6c57eb24f71131ebfe631e89522eb5ce008e7.tar.gz
Main Conformance: Update SIGMOID, TANH precision
Change SIGMOID, TANH precision to allow an implementation using EXP. The bound is based on the EXP bound. Change-Id: I19582b31753ac614a1064a1b81961dbc54acf823 Signed-off-by: Dominic Symes <dominic.symes@arm.com>
-rw-r--r--chapters/introduction.adoc8
1 files changed, 7 insertions, 1 deletions
diff --git a/chapters/introduction.adoc b/chapters/introduction.adoc
index 4b0696c..48b169d 100644
--- a/chapters/introduction.adoc
+++ b/chapters/introduction.adoc
@@ -261,7 +261,7 @@ Otherwise:the result must be within 1 ulp of the mathematical result.
Otherwise if the input is a zero the output must be an infinity of the same sign. +
Otherwise the result must be within 2 ulp of the mathematical result.
-| <<SIGMOID>>, <<TANH>>, <<LOG>>, <<ERF>>
+| <<LOG>>, <<ERF>>
| If the input to LOG is less than zero then the result must be a NaN. +
If the result overflows the output must be an infinity of the correct sign. +
If the result underflows the output must be a zero of the correct sign. +
@@ -279,6 +279,12 @@ Let `out_ref` be the result of the fp64_t reference implementation of `pow(x,y)`
Let `err_bnd = abs(out_ref) * exp2(-normal_frac<in_out_t>) * (1+abs(log(abs(x))*y))` +
Then `tosa_reference_check_fp_bnd<in_out_t>(out_imp, out_ref, err_bnd)` must be true
+| <<SIGMOID>>, <<TANH>>
+| Let `x` be an input element and `out_imp` the implementation output. +
+Let `out_ref` be the result of the fp64_t reference implementation. +
+Let `err_bnd = abs(out_ref) * exp2(-normal_frac<in_out_t>) * (2 * (1+abs(x)))` +
+Then `tosa_reference_check_fp_bnd<in_out_t>(out_imp, out_ref, err_bnd)` must be true
+
| <<REDUCE_SUM>>
| Each output can be expressed as a dot product of an input vector with a vector of ones. +
This dot product must meet the <<Dot product accuracy requirements>>