diff options
author | Andrew Turner <andrew@FreeBSD.org> | 2025-01-10 10:34:52 +0000 |
---|---|---|
committer | Andrew Turner <andrew@FreeBSD.org> | 2025-01-10 10:39:34 +0000 |
commit | 9d1de25930735261c16ed874a933b4c1f1d9041e (patch) | |
tree | b0cac1c933cc1ecb885c7e757b89ffbf13f1f012 /pl/math/atan_common.h | |
parent | edc5c0de794f521eb620d2b6cbaee2434442a8f3 (diff) |
Update the Arm Optimized Routinesvendor/arm-optimized-routines/v25.01vendor/arm-optimized-routines
Import the v25.01 release of the Arm Optimized Routines [1].
[1] https://github.com/ARM-software/optimized-routines/tree/v25.01
Sponsored by: Arm Ltd
Diffstat (limited to 'pl/math/atan_common.h')
-rw-r--r-- | pl/math/atan_common.h | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/pl/math/atan_common.h b/pl/math/atan_common.h deleted file mode 100644 index 798cc22cc40a..000000000000 --- a/pl/math/atan_common.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Double-precision polynomial evaluation function for scalar - * atan(x) and atan2(y,x). - * - * Copyright (c) 2021-2023, Arm Limited. - * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception - */ - -#include "math_config.h" -#include "poly_scalar_f64.h" - -/* Polynomial used in fast atan(x) and atan2(y,x) implementations - The order 19 polynomial P approximates (atan(sqrt(x))-sqrt(x))/x^(3/2). */ -static inline double -eval_poly (double z, double az, double shift) -{ - /* Use split Estrin scheme for P(z^2) with deg(P)=19. Use split instead of - full scheme to avoid underflow in x^16. */ - double z2 = z * z; - double x2 = z2 * z2; - double x4 = x2 * x2; - double x8 = x4 * x4; - double y = fma (estrin_11_f64 (z2, x2, x4, x8, __atan_poly_data.poly + 8), - x8, estrin_7_f64 (z2, x2, x4, __atan_poly_data.poly)); - - /* Finalize. y = shift + z + z^3 * P(z^2). */ - y = fma (y, z2 * az, az); - y = y + shift; - - return y; -} - -#undef P |