1*c9945492SAndroid Build Coastguard Worker /* 2*c9945492SAndroid Build Coastguard Worker * Copyright (c) 2017-2018, Arm Limited. 3*c9945492SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 4*c9945492SAndroid Build Coastguard Worker */ 5*c9945492SAndroid Build Coastguard Worker #ifndef _POWF_DATA_H 6*c9945492SAndroid Build Coastguard Worker #define _POWF_DATA_H 7*c9945492SAndroid Build Coastguard Worker 8*c9945492SAndroid Build Coastguard Worker #include "libm.h" 9*c9945492SAndroid Build Coastguard Worker #include "exp2f_data.h" 10*c9945492SAndroid Build Coastguard Worker 11*c9945492SAndroid Build Coastguard Worker #define POWF_LOG2_TABLE_BITS 4 12*c9945492SAndroid Build Coastguard Worker #define POWF_LOG2_POLY_ORDER 5 13*c9945492SAndroid Build Coastguard Worker #if TOINT_INTRINSICS 14*c9945492SAndroid Build Coastguard Worker #define POWF_SCALE_BITS EXP2F_TABLE_BITS 15*c9945492SAndroid Build Coastguard Worker #else 16*c9945492SAndroid Build Coastguard Worker #define POWF_SCALE_BITS 0 17*c9945492SAndroid Build Coastguard Worker #endif 18*c9945492SAndroid Build Coastguard Worker #define POWF_SCALE ((double)(1 << POWF_SCALE_BITS)) 19*c9945492SAndroid Build Coastguard Worker extern hidden const struct powf_log2_data { 20*c9945492SAndroid Build Coastguard Worker struct { 21*c9945492SAndroid Build Coastguard Worker double invc, logc; 22*c9945492SAndroid Build Coastguard Worker } tab[1 << POWF_LOG2_TABLE_BITS]; 23*c9945492SAndroid Build Coastguard Worker double poly[POWF_LOG2_POLY_ORDER]; 24*c9945492SAndroid Build Coastguard Worker } __powf_log2_data; 25*c9945492SAndroid Build Coastguard Worker 26*c9945492SAndroid Build Coastguard Worker #endif 27