📄 t_exp.c
字号:
/* Accurate tables for exp(). 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.1 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 -177 <= i <= 177, exp(i/512.0 + __exp_deltatable[abs(i)]) == __exp_atable[i+177] + r for some -2^-64 < r < 2^-64 (abs(r) < 2^-65 if i <= 0); and that __exp_deltatable[abs(i)] == t * 2^-60 for integer t so that abs(t) <= 8847927 * 2^8. */#define W52 (2.22044605e-16)#define W55 (2.77555756e-17)#define W58 (3.46944695e-18)#define W59 (1.73472348e-18)#define W60 (8.67361738e-19)const float __exp_deltatable[178] = { 0*W60, 16558714*W60, -10672149*W59, 1441652*W60, -15787963*W55, 462888*W60, 7291806*W60, 1698880*W60, -14375103*W58, -2021016*W60, 728829*W60, -3759654*W60, 3202123*W60, -10916019*W58, -251570*W60, -1043086*W60, 8207536*W60, -409964*W60, -5993931*W60, -475500*W60, 2237522*W60, 324170*W60, -244117*W60, 32077*W60, 123907*W60, -1019734*W60, -143*W60, 813077*W60, 743345*W60, 462461*W60, 629794*W60, 2125066*W60, -2339121*W60, -337951*W60, 9922067*W60, -648704*W60, 149407*W60, -2687209*W60, -631608*W60, 2128280*W60, -4882082*W60, 2001360*W60, 175074*W60, 2923216*W60, -538947*W60, -1212193*W60, -1920926*W60, -1080577*W60, 3690196*W60, 2643367*W60, 2911937*W60, 671455*W60, -1128674*W60, 593282*W60, -5219347*W60, -1941490*W60, 11007953*W60, 239609*W60, -2969658*W60, -1183650*W60, 942998*W60, 699063*W60, 450569*W60, -329250*W60, -7257875*W60, -312436*W60, 51626*W60, 555877*W60, -641761*W60, 1565666*W60, 884327*W60, -10960035*W60, -2004679*W60, -995793*W60, -2229051*W60, -146179*W60, -510327*W60, 1453482*W60, -3778852*W60, -2238056*W60, -4895983*W60, 3398883*W60, -252738*W60, 1230155*W60, 346918*W60, 1109352*W60, 268941*W60, -2930483*W60, -1036263*W60, -1159280*W60, 1328176*W60, 2937642*W60, -9371420*W60, -6902650*W60, -1419134*W60, 1442904*W60, -1319056*W60, -16369*W60, 696555*W60, -279987*W60, -7919763*W60, 252741*W60, 459711*W60, -1709645*W60, 354913*W60, 6025867*W60, -421460*W60, -853103*W60, -338649*W60, 962151*W60, 955965*W60, 784419*W60, -3633653*W60, 2277133*W60, -8847927*W52, 1223028*W60, 5907079*W60, 623167*W60, 5142888*W60, 2599099*W60, 1214280*W60, 4870359*W60, 593349*W60, -57705*W60, 7761209*W60, -5564097*W60, 2051261*W60, 6216869*W60, 4692163*W60, 601691*W60, -5264906*W60, 1077872*W60, -3205949*W60, 1833082*W60, 2081746*W60, -987363*W60, -1049535*W60, 2015244*W60, 874230*W60, 2168259*W60, -1740124*W60, -10068269*W60, -18242*W60, -3013583*W60, 580601*W60, -2547161*W60, -535689*W60, 2220815*W60, 1285067*W60, 2806933*W60, -983086*W60, -1729097*W60, -1162985*W60, -2561904*W60, 801988*W60, 244351*W60, 1441893*W60, -7517981*W60, 271781*W60, -15021588*W60, -2341588*W60, -919198*W60, 1642232*W60, 4771771*W60, -1220099*W60, -3062372*W60, 628624*W60, 1278114*W60, 13083513*W60, -10521925*W60, 3180310*W60, -1659307*W60, 3543773*W60, 2501203*W60, 4151*W60, -340748*W60, -2285625*W60, 2495202*W60};const double __exp_atable[355] /* __attribute__((mode(DF))) */ = { 0.707722561055888932371, /* 0x0.b52d4e46605c27ffd */ 0.709106182438804188967, /* 0x0.b587fb96f75097ffb */ 0.710492508843861281234, /* 0x0.b5e2d649899167ffd */ 0.711881545564593931623, /* 0x0.b63dde74d36bdfffe */ 0.713273297897442870573, /* 0x0.b699142f945f87ffc */ 0.714667771153751463236, /* 0x0.b6f477909c4ea0001 */ 0.716064970655995725059, /* 0x0.b75008aec758f8004 */ 0.717464901723956938193, /* 0x0.b7abc7a0eea7e0002 */ 0.718867569715736398602, /* 0x0.b807b47e1586c7ff8 */ 0.720272979947266023271, /* 0x0.b863cf5d10e380003 */ 0.721681137825144314297, /* 0x0.b8c01855195c37ffb */ 0.723092048691992950199, /* 0x0.b91c8f7d213740004 */ 0.724505717938892290800, /* 0x0.b97934ec5002d0007 */ 0.725922150953176470431, /* 0x0.b9d608b9c92ea7ffc */ 0.727341353138962865022, /* 0x0.ba330afcc29e98003 */ 0.728763329918453162104, /* 0x0.ba903bcc8618b7ffc */ 0.730188086709957051568, /* 0x0.baed9b40591ba0000 */ 0.731615628948127705309, /* 0x0.bb4b296f931e30002 */ 0.733045962086486091436, /* 0x0.bba8e671a05617ff9 */ 0.734479091556371366251, /* 0x0.bc06d25dd49568001 */ 0.735915022857225542529, /* 0x0.bc64ed4bce8f6fff9 */ 0.737353761441304711410, /* 0x0.bcc33752f915d7ff9 */ 0.738795312814142124419, /* 0x0.bd21b08af98e78005 */ 0.740239682467211168593, /* 0x0.bd80590b65e9a8000 */ 0.741686875913991849885, /* 0x0.bddf30ebec4a10000 */ 0.743136898669507939299, /* 0x0.be3e38443c84e0007 */ 0.744589756269486091620, /* 0x0.be9d6f2c1d32a0002 */ 0.746045454254026796384, /* 0x0.befcd5bb59baf8004 */ 0.747503998175051087583, /* 0x0.bf5c6c09ca84c0003 */ 0.748965393601880857739, /* 0x0.bfbc322f5b18b7ff8 */ 0.750429646104262104698, /* 0x0.c01c2843f776fffff */ 0.751896761271877989160, /* 0x0.c07c4e5fa18b88002 */ 0.753366744698445112140, /* 0x0.c0dca49a5fb18fffd */ 0.754839601988627206827, /* 0x0.c13d2b0c444db0005 */ 0.756315338768691947122, /* 0x0.c19de1cd798578006 */ 0.757793960659406629066, /* 0x0.c1fec8f623723fffd */ 0.759275473314173443536, /* 0x0.c25fe09e8a0f47ff8 */ 0.760759882363831851927, /* 0x0.c2c128dedc88f8000 */ 0.762247193485956486805, /* 0x0.c322a1cf7d6e7fffa */ 0.763737412354726363781, /* 0x0.c3844b88cb9347ffc */ 0.765230544649828092739, /* 0x0.c3e626232bd8f7ffc */ 0.766726596071518051729, /* 0x0.c44831b719bf18002 */ 0.768225572321911687194, /* 0x0.c4aa6e5d12d078001 */ 0.769727479119219348810, /* 0x0.c50cdc2da64a37ffb */ 0.771232322196981678892, /* 0x0.c56f7b41744490001 */ 0.772740107296721268087, /* 0x0.c5d24bb1259e70004 */ 0.774250840160724651565, /* 0x0.c6354d95640dd0007 */ 0.775764526565368872643, /* 0x0.c6988106fec447fff */ 0.777281172269557396602, /* 0x0.c6fbe61eb1bd0ffff */ 0.778800783068235302750, /* 0x0.c75f7cf560942fffc */ 0.780323364758801041312, /* 0x0.c7c345a3f1983fffe */ 0.781848923151573727006, /* 0x0.c8274043594cb0002 */ 0.783377464064598849602, /* 0x0.c88b6cec94b3b7ff9 */ 0.784908993312207869935, /* 0x0.c8efcbb89cba27ffe */ 0.786443516765346961618, /* 0x0.c9545cc0a88c70003 */ 0.787981040257604625744, /* 0x0.c9b9201dc643bfffa */ 0.789521569657452682047, /* 0x0.ca1e15e92a5410007 */ 0.791065110849462849192, /* 0x0.ca833e3c1ae510005 */ 0.792611669712891875319, /* 0x0.cae8992fd84667ffd */ 0.794161252150049179450, /* 0x0.cb4e26ddbc207fff8 */ 0.795713864077794763584, /* 0x0.cbb3e75f301b60003 */ 0.797269511407239561694, /* 0x0.cc19dacd978cd8002 */ 0.798828200086368567220, /* 0x0.cc8001427e55d7ffb */ 0.800389937624300440456, /* 0x0.cce65ade24d360006 */ 0.801954725261124767840, /* 0x0.cd4ce7a5de839fffb */ 0.803522573691593189330, /* 0x0.cdb3a7c79a678fffd */ 0.805093487311204114563, /* 0x0.ce1a9b563965ffffc */ 0.806667472122675088819, /* 0x0.ce81c26b838db8000 */ 0.808244534127439906441, /* 0x0.cee91d213f8428002 */ 0.809824679342317166307, /* 0x0.cf50ab9144d92fff9 */ 0.811407913793616542005, /* 0x0.cfb86dd5758c2ffff */ 0.812994243520784198882, /* 0x0.d0206407c20e20005 */ 0.814583674571603966162, /* 0x0.d0888e4223facfff9 */ 0.816176213022088536960, /* 0x0.d0f0ec9eb3f7c8002 */ 0.817771864936188586101, /* 0x0.d1597f377d6768002 */ 0.819370636400374108252, /* 0x0.d1c24626a46eafff8 */ 0.820972533518165570298, /* 0x0.d22b41865ff1e7ff9 */ 0.822577562404315121269, /* 0x0.d2947170f32ec7ff9 */ 0.824185729164559344159, /* 0x0.d2fdd60097795fff8 */ 0.825797039949601741075, /* 0x0.d3676f4fb796d0001 */ 0.827411500902565544264, /* 0x0.d3d13d78b5f68fffb */ 0.829029118181348834154, /* 0x0.d43b40960546d8001 */ 0.830649897953322891022, /* 0x0.d4a578c222a058000 */ 0.832273846408250750368, /* 0x0.d50fe617a3ba78005 */ 0.833900969738858188772, /* 0x0.d57a88b1218e90002 */ 0.835531274148056613016, /* 0x0.d5e560a94048f8006 */ 0.837164765846411529371, /* 0x0.d6506e1aac8078003 */ 0.838801451086016225394, /* 0x0.d6bbb1204074e0001 */ 0.840441336100884561780, /* 0x0.d72729d4c28518004 */ 0.842084427144139224814, /* 0x0.d792d8530e12b0001 */ 0.843730730487052604790, /* 0x0.d7febcb61273e7fff */ 0.845380252404570153833, /* 0x0.d86ad718c308dfff9 */ 0.847032999194574087728, /* 0x0.d8d727962c69d7fff */ 0.848688977161248581090, /* 0x0.d943ae49621ce7ffb */ 0.850348192619261200615, /* 0x0.d9b06b4d832ef8005 */ 0.852010651900976245816, /* 0x0.da1d5ebdc22220005 */ 0.853676361342631029337, /* 0x0.da8a88b555baa0006 */ 0.855345327311054837175, /* 0x0.daf7e94f965f98004 */ 0.857017556155879489641, /* 0x0.db6580a7c98f7fff8 */ 0.858693054267390953857, /* 0x0.dbd34ed9617befff8 */ 0.860371828028939855647, /* 0x0.dc4153ffc8b65fff9 */ 0.862053883854957292436, /* 0x0.dcaf90368bfca8004 */ 0.863739228154875360306, /* 0x0.dd1e0399328d87ffe */ 0.865427867361348468455, /* 0x0.dd8cae435d303fff9 */ 0.867119807911702289458, /* 0x0.ddfb9050b1cee8006 */ 0.868815056264353846599, /* 0x0.de6aa9dced8448001 */ 0.870513618890481399881, /* 0x0.ded9fb03db7320006 */ 0.872215502247877139094, /* 0x0.df4983e1380657ff8 */ 0.873920712852848668986, /* 0x0.dfb94490ffff77ffd */ 0.875629257204025623884, /* 0x0.e0293d2f1cb01fff9 */ 0.877341141814212965880, /* 0x0.e0996dd786fff0007 */ 0.879056373217612985183, /* 0x0.e109d6a64f5d57ffc */ 0.880774957955916648615, /* 0x0.e17a77b78e72a7ffe */ 0.882496902590150900078, /* 0x0.e1eb5127722cc7ff8 */ 0.884222213673356738383, /* 0x0.e25c63121fb0c8006 */ 0.885950897802399772740, /* 0x0.e2cdad93ec5340003 */ 0.887682961567391237685, /* 0x0.e33f30c925fb97ffb */ 0.889418411575228162725, /* 0x0.e3b0ecce2d05ffff9 */ 0.891157254447957902797, /* 0x0.e422e1bf727718006 */ 0.892899496816652704641, /* 0x0.e4950fb9713fc7ffe */ 0.894645145323828439008, /* 0x0.e50776d8b0e60fff8 */ 0.896394206626591749641, /* 0x0.e57a1739c8fadfffc */ 0.898146687421414902124, /* 0x0.e5ecf0f97c5798007 */ 0.899902594367530173098, /* 0x0.e660043464e378005 */ 0.901661934163603406867, /* 0x0.e6d3510747e150006 */ 0.903424713533971135418, /* 0x0.e746d78f06cd97ffd */ 0.905190939194458810123, /* 0x0.e7ba97e879c91fffc */ 0.906960617885092856864, /* 0x0.e82e92309390b0007 */ 0.908733756358986566306, /* 0x0.e8a2c6845544afffa */ 0.910510361377119825629, /* 0x0.e9173500c8abc7ff8 */ 0.912290439722343249336, /* 0x0.e98bddc30f98b0002 */ 0.914073998177417412765, /* 0x0.ea00c0e84bc4c7fff */ 0.915861043547953501680, /* 0x0.ea75de8db8094fffe */ 0.917651582652244779397, /* 0x0.eaeb36d09d3137ffe */ 0.919445622318405764159, /* 0x0.eb60c9ce4ed3dffff */ 0.921243169397334638073, /* 0x0.ebd697a43995b0007 */ 0.923044230737526172328, /* 0x0.ec4ca06fc7768fffa */ 0.924848813220121135342, /* 0x0.ecc2e44e865b6fffb */ 0.926656923710931002014, /* 0x0.ed39635df34e70006 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -