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 _POW_DATA_H 6*c9945492SAndroid Build Coastguard Worker #define _POW_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 POW_LOG_TABLE_BITS 7 11*c9945492SAndroid Build Coastguard Worker #define POW_LOG_POLY_ORDER 8 12*c9945492SAndroid Build Coastguard Worker extern hidden const struct pow_log_data { 13*c9945492SAndroid Build Coastguard Worker double ln2hi; 14*c9945492SAndroid Build Coastguard Worker double ln2lo; 15*c9945492SAndroid Build Coastguard Worker double poly[POW_LOG_POLY_ORDER - 1]; /* First coefficient is 1. */ 16*c9945492SAndroid Build Coastguard Worker /* Note: the pad field is unused, but allows slightly faster indexing. */ 17*c9945492SAndroid Build Coastguard Worker struct { 18*c9945492SAndroid Build Coastguard Worker double invc, pad, logc, logctail; 19*c9945492SAndroid Build Coastguard Worker } tab[1 << POW_LOG_TABLE_BITS]; 20*c9945492SAndroid Build Coastguard Worker } __pow_log_data; 21*c9945492SAndroid Build Coastguard Worker 22*c9945492SAndroid Build Coastguard Worker #endif 23