xref: /aosp_15_r20/external/musl/src/math/log_data.h (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker /*
2*c9945492SAndroid Build Coastguard Worker  * Copyright (c) 2018, Arm Limited.
3*c9945492SAndroid Build Coastguard Worker  * SPDX-License-Identifier: MIT
4*c9945492SAndroid Build Coastguard Worker  */
5*c9945492SAndroid Build Coastguard Worker #ifndef _LOG_DATA_H
6*c9945492SAndroid Build Coastguard Worker #define _LOG_DATA_H
7*c9945492SAndroid Build Coastguard Worker 
8*c9945492SAndroid Build Coastguard Worker #include <features.h>
9*c9945492SAndroid Build Coastguard Worker 
10*c9945492SAndroid Build Coastguard Worker #define LOG_TABLE_BITS 7
11*c9945492SAndroid Build Coastguard Worker #define LOG_POLY_ORDER 6
12*c9945492SAndroid Build Coastguard Worker #define LOG_POLY1_ORDER 12
13*c9945492SAndroid Build Coastguard Worker extern hidden const struct log_data {
14*c9945492SAndroid Build Coastguard Worker 	double ln2hi;
15*c9945492SAndroid Build Coastguard Worker 	double ln2lo;
16*c9945492SAndroid Build Coastguard Worker 	double poly[LOG_POLY_ORDER - 1]; /* First coefficient is 1.  */
17*c9945492SAndroid Build Coastguard Worker 	double poly1[LOG_POLY1_ORDER - 1];
18*c9945492SAndroid Build Coastguard Worker 	struct {
19*c9945492SAndroid Build Coastguard Worker 		double invc, logc;
20*c9945492SAndroid Build Coastguard Worker 	} tab[1 << LOG_TABLE_BITS];
21*c9945492SAndroid Build Coastguard Worker #if !__FP_FAST_FMA
22*c9945492SAndroid Build Coastguard Worker 	struct {
23*c9945492SAndroid Build Coastguard Worker 		double chi, clo;
24*c9945492SAndroid Build Coastguard Worker 	} tab2[1 << LOG_TABLE_BITS];
25*c9945492SAndroid Build Coastguard Worker #endif
26*c9945492SAndroid Build Coastguard Worker } __log_data;
27*c9945492SAndroid Build Coastguard Worker 
28*c9945492SAndroid Build Coastguard Worker #endif
29