diff options
author | Eric Kunze <eric.kunze@arm.com> | 2024-01-03 10:55:00 -0800 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2024-01-08 14:26:55 -0800 |
commit | 18acfe33b7c65eef3699bb2c86c85ad8169ac430 (patch) | |
tree | 982f2b3880104802a339594ca2343f7785e5eb70 | |
parent | 34f67da4ecf902a6fc5e94411da648c9e832287c (diff) | |
download | specification-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.adoc | 6 |
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 |