📄 t_exp2f.h
字号:
/* See the import.pl script for potential modifications */
/* Accurate tables for exp2f().
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Geoffrey Keating <geoffk@ozemail.com.au>
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1f of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* This table has the property that, for all integers -128 <= i <= 127,
exp(i/256.0f + __exp2f_deltatable[i-128]) == __exp2f_atable[i+128] + r
for some -2^-35 < r < 2^-35 (abs(r) < 2^-36 if i <= 0); and that
__exp2f_deltatable[i+128] == t * 2^-30
for integer t so that abs(t) <= 43447 * 2^0. */
#define W30 (9.31322575e-10f)
static const Simple __exp2f_deltatable[256] = {
-810*W30, 283*W30, -1514*W30, 1304*W30,
-1148*W30, -98*W30, -744*W30, -156*W30,
-419*W30, -155*W30, 474*W30, 167*W30,
-1984*W30, -826*W30, 692*W30, 781*W30,
-578*W30, -411*W30, -129*W30, -1500*W30,
654*W30, -141*W30, -816*W30, -53*W30,
148*W30, 493*W30, -2214*W30, 760*W30,
260*W30, 750*W30, -1300*W30, 1424*W30,
-1445*W30, -339*W30, -680*W30, -349*W30,
-922*W30, 531*W30, 193*W30, -2892*W30,
290*W30, -2145*W30, -276*W30, 485*W30,
-695*W30, 215*W30, -7093*W30, 412*W30,
-4596*W30, 367*W30, 592*W30, -615*W30,
-97*W30, -1066*W30, 972*W30, -226*W30,
-625*W30, -374*W30, -5647*W30, -180*W30,
20349*W30, -447*W30, 111*W30, -4164*W30,
-87*W30, -21*W30, -251*W30, 66*W30,
-517*W30, 2093*W30, -263*W30, 182*W30,
-601*W30, 475*W30, -483*W30, -1251*W30,
-373*W30, 1471*W30, -92*W30, -215*W30,
-97*W30, -190*W30, 0*W30, -290*W30,
-2647*W30, 1940*W30, -582*W30, 28*W30,
833*W30, 1493*W30, 34*W30, 321*W30,
3327*W30, -35*W30, 177*W30, -135*W30,
-796*W30, -428*W30, 129*W30, 9332*W30,
-12*W30, -69*W30, -1743*W30, 6508*W30,
-60*W30, 359*W30, 43447*W30, 15*W30,
-23*W30, -305*W30, -375*W30, -652*W30,
667*W30, 269*W30, -1575*W30, 185*W30,
-329*W30, 200*W30, 6002*W30, 163*W30,
-647*W30, 19*W30, -603*W30, -755*W30,
742*W30, -438*W30, 3587*W30, 2560*W30,
0*W30, -520*W30, -241*W30, -299*W30,
-1270*W30, -991*W30, -1138*W30, 255*W30,
-1192*W30, 1722*W30, 1023*W30, 3700*W30,
-1388*W30, -1551*W30, -2549*W30, 27*W30,
282*W30, 673*W30, 113*W30, 1561*W30,
72*W30, 873*W30, 87*W30, -395*W30,
-433*W30, 629*W30, 3440*W30, -284*W30,
-592*W30, -103*W30, -46*W30, -3844*W30,
1712*W30, 303*W30, 1555*W30, -631*W30,
-1400*W30, -961*W30, -854*W30, -276*W30,
407*W30, 833*W30, -345*W30, -1501*W30,
121*W30, -1581*W30, 400*W30, 150*W30,
1224*W30, -139*W30, -563*W30, 879*W30,
933*W30, 2939*W30, 788*W30, 211*W30,
530*W30, -192*W30, 706*W30, -13347*W30,
1065*W30, 3*W30, 111*W30, -208*W30,
-360*W30, -532*W30, -291*W30, 483*W30,
987*W30, -33*W30, -1373*W30, -166*W30,
-1174*W30, -3955*W30, 1601*W30, -280*W30,
1405*W30, 600*W30, -1659*W30, -23*W30,
390*W30, 449*W30, 570*W30, -13143*W30,
-9*W30, -1646*W30, 1201*W30, 294*W30,
2181*W30, -1173*W30, 1388*W30, -4504*W30,
190*W30, -2304*W30, 211*W30, 239*W30,
48*W30, -817*W30, 1018*W30, 1828*W30,
-663*W30, 1408*W30, 408*W30, -36*W30,
1295*W30, -230*W30, 1341*W30, 9*W30,
40*W30, 705*W30, 186*W30, 376*W30,
557*W30, 5866*W30, 363*W30, -1558*W30,
718*W30, 669*W30, 1369*W30, -2972*W30,
-468*W30, -121*W30, -219*W30, 667*W30,
29954*W30, 366*W30, 48*W30, -203*W30
};
namespace streflop_libm {
static const Simple __exp2f_atable[256] /* __attribute__((mode(SF))) */ = {
0.707106411447f, /* 0x0.b504ecfff */
0.709024071690f, /* 0x0.b58299fff */
0.710945606239f, /* 0x0.b60088000 */
0.712874472142f, /* 0x0.b67ef1000 */
0.714806139464f, /* 0x0.b6fd88fff */
0.716744661340f, /* 0x0.b77c94000 */
0.718687653549f, /* 0x0.b7fbea000 */
0.720636486992f, /* 0x0.b87ba1fff */
0.722590208040f, /* 0x0.b8fbabfff */
0.724549472323f, /* 0x0.b97c12fff */
0.726514220228f, /* 0x0.b9fcd5fff */
0.728483855735f, /* 0x0.ba7deb000 */
0.730457961549f, /* 0x0.baff4afff */
0.732438981522f, /* 0x0.bb811efff */
0.734425544748f, /* 0x0.bc0350000 */
0.736416816713f, /* 0x0.bc85d0000 */
0.738412797450f, /* 0x0.bd089efff */
0.740414917465f, /* 0x0.bd8bd4fff */
0.742422521111f, /* 0x0.be0f66fff */
0.744434773914f, /* 0x0.be9346fff */
0.746454179287f, /* 0x0.bf179f000 */
0.748477637755f, /* 0x0.bf9c3afff */
0.750506639473f, /* 0x0.c02133fff */
0.752541840064f, /* 0x0.c0a694fff */
0.754582285889f, /* 0x0.c12c4e000 */
0.756628334525f, /* 0x0.c1b265000 */
0.758678436269f, /* 0x0.c238bffff */
0.760736882681f, /* 0x0.c2bfa6fff */
0.762799203401f, /* 0x0.c346cf000 */
0.764867603790f, /* 0x0.c3ce5d000 */
0.766940355298f, /* 0x0.c45633fff */
0.769021093841f, /* 0x0.c4de90fff */
0.771104693409f, /* 0x0.c5671dfff */
0.773195922364f, /* 0x0.c5f02afff */
0.775292098512f, /* 0x0.c6798afff */
0.777394294745f, /* 0x0.c70350000 */
0.779501736166f, /* 0x0.c78d6d000 */
0.781615912910f, /* 0x0.c817fafff */
0.783734917628f, /* 0x0.c8a2d9fff */
0.785858273516f, /* 0x0.c92e02000 */
0.787990570071f, /* 0x0.c9b9c0000 */
0.790125787245f, /* 0x0.ca45aefff */
0.792268991467f, /* 0x0.cad223fff */
0.794417440881f, /* 0x0.cb5ef0fff */
0.796570718287f, /* 0x0.cbec0efff */
0.798730909811f, /* 0x0.cc79a0fff */
0.800892710672f, /* 0x0.cd074dfff */
0.803068041795f, /* 0x0.cd95ddfff */
0.805242776881f, /* 0x0.ce2464000 */
0.807428598393f, /* 0x0.ceb3a3fff */
0.809617877002f, /* 0x0.cf431dfff */
0.811812341211f, /* 0x0.cfd2eefff */
0.814013659956f, /* 0x0.d06333000 */
0.816220164311f, /* 0x0.d0f3ce000 */
0.818434238424f, /* 0x0.d184e7fff */
0.820652604094f, /* 0x0.d21649fff */
0.822877407074f, /* 0x0.d2a818000 */
0.825108587751f, /* 0x0.d33a51000 */
0.827342867839f, /* 0x0.d3ccbdfff */
0.829588949684f, /* 0x0.d45ff1000 */
0.831849217401f, /* 0x0.d4f411fff */
0.834093391880f, /* 0x0.d58724fff */
0.836355149750f, /* 0x0.d61b5f000 */
0.838620424257f, /* 0x0.d6afd3fff */
0.840896368027f, /* 0x0.d744fc000 */
0.843176305293f, /* 0x0.d7da66fff */
0.845462262643f, /* 0x0.d87037000 */
0.847754716864f, /* 0x0.d90673fff */
0.850052893157f, /* 0x0.d99d10fff */
0.852359056469f, /* 0x0.da3433fff */
0.854668736446f, /* 0x0.dacb91fff */
0.856986224651f, /* 0x0.db6373000 */
0.859309315673f, /* 0x0.dbfbb1fff */
0.861639738080f, /* 0x0.dc946bfff */
0.863975346095f, /* 0x0.dd2d7d000 */
0.866317391394f, /* 0x0.ddc6f9fff */
0.868666708472f, /* 0x0.de60f1000 */
0.871022939695f, /* 0x0.defb5c000 */
0.873383641229f, /* 0x0.df9611fff */
0.875751554968f, /* 0x0.e03141000 */
0.878126025200f, /* 0x0.e0ccde000 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -