aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Kunze <eric.kunze@arm.com>2024-01-03 10:55:00 -0800
committerEric Kunze <eric.kunze@arm.com>2024-01-08 14:26:55 -0800
commit18acfe33b7c65eef3699bb2c86c85ad8169ac430 (patch)
tree982f2b3880104802a339594ca2343f7785e5eb70
parent34f67da4ecf902a6fc5e94411da648c9e832287c (diff)
downloadspecification-18acfe33b7c65eef3699bb2c86c85ad8169ac430.tar.gz
Add note to POW accuracy
Cannot raise a negative base to a non-integral power. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I851006abc30bccb612b2a41e27f5c259bb221e41
-rw-r--r--chapters/introduction.adoc6
1 files changed, 4 insertions, 2 deletions
diff --git a/chapters/introduction.adoc b/chapters/introduction.adoc
index 48b169d..f0ad12c 100644
--- a/chapters/introduction.adoc
+++ b/chapters/introduction.adoc
@@ -1,7 +1,7 @@
//
// This confidential and proprietary software may be used only as
// authorised by a licensing agreement from ARM Limited
-// (C) COPYRIGHT 2020-2023 ARM Limited
+// (C) COPYRIGHT 2020-2024 ARM Limited
// ALL RIGHTS RESERVED
// The entire notice above must be reproduced on all authorised
// copies and copies may only be made to the extent permitted
@@ -274,7 +274,9 @@ Let `err_bnd = abs(out_ref) * exp2(-normal_frac<in_out_t>) * (1+abs(x))` +
Then `tosa_reference_check_fp_bnd<in_out_t>(out_imp, out_ref, err_bnd)` must be true
| <<POW>>
-| Let `x`, `y` be input elements and `out_imp` the implementation output of `pow(x,y)`. +
+| Let `x`, `y` be input elements from `input1` and `input2` respectively. +
+Let `out_imp` be the implementation output of `pow(x,y)`. +
+If `x` is less than zero and `y` is non-integral then the result must be a NaN. +
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