⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e_pow.s

📁 glibc 2.9,最新版的C语言库函数
💻 S
📖 第 1 页 / 共 5 页
字号:
//  -0     !-odd integer      +inf   error 27   33  divide-by-zero//  +0     -inf               +inf   error 27   33  divide-by-zero//  -0     -inf               +inf   error 27   33  divide-by-zero// X zero  Y positve//  +0     +odd integer       +0//  -0     +odd integer       -0//  +0     !+odd integer      +0//  -0     !+odd integer      +0//  +0     +inf               +0//  -0     +inf               +0//  +0     Y NaN              quiet Y               invalid if Y SNaN//  -0     Y NaN              quiet Y               invalid if Y SNaN// X one//  -1     Y inf              +1//  -1     Y NaN              quiet Y               invalid if Y SNaN//  +1     Y NaN              +1                    invalid if Y SNaN//  +1     Y any else         +1// X -     Y not integer      QNAN   error 28   34  invalid// X NaN   Y 0                +1     error 29   35// X NaN   Y NaN              quiet X               invalid if X or Y SNaN// X NaN   Y any else         quiet X               invalid if X SNaN// X !+1   Y NaN              quiet Y               invalid if Y SNaN// X +inf  Y >0               +inf// X -inf  Y >0, !odd integer +inf// X -inf  Y >0, odd integer  -inf// X +inf  Y <0               +0// X -inf  Y <0, !odd integer +0// X -inf  Y <0, odd integer  -0// X +inf  Y =0               +1// X -inf  Y =0               +1// |X|<1   Y +inf             +0// |X|<1   Y -inf             +inf// |X|>1   Y +inf             +inf// |X|>1   Y -inf             +0// X any   Y =0               +1// Assembly macros//==============================================================// integer registers usedpow_GR_signexp_X          = r14pow_GR_17ones             = r15pow_AD_P                  = r16pow_GR_exp_2tom8          = r17pow_GR_sig_X              = r18pow_GR_10033              = r19pow_GR_16ones             = r20pow_AD_Tt                 = r21pow_GR_exp_X              = r22pow_AD_Q                  = r23pow_GR_true_exp_X         = r24pow_GR_y_zero             = r25pow_GR_exp_Y              = r26pow_AD_tbl1               = r27pow_AD_tbl2               = r28pow_GR_offset             = r29pow_GR_exp_Xm1            = r30pow_GR_xneg_yodd          = r31pow_GR_signexp_Xm1        = r35pow_GR_int_W1             = r36pow_GR_int_W2             = r37pow_GR_int_N              = r38pow_GR_index1             = r39pow_GR_index2             = r40pow_AD_T1                 = r41pow_AD_T2                 = r42pow_int_GR_M              = r43pow_GR_sig_int_Y          = r44pow_GR_sign_Y_Gpr         = r45pow_GR_17ones_m1          = r46pow_GR_one                = r47pow_GR_sign_Y             = r48pow_GR_signexp_Y_Gpr      = r49pow_GR_exp_Y_Gpr          = r50pow_GR_true_exp_Y_Gpr     = r51pow_GR_signexp_Y          = r52pow_GR_x_one              = r53pow_GR_exp_2toM63         = r54pow_GR_big_pos            = r55pow_GR_big_neg            = r56GR_SAVE_B0                = r50GR_SAVE_GP                = r51GR_SAVE_PFS               = r52GR_Parameter_X            = r53GR_Parameter_Y            = r54GR_Parameter_RESULT       = r55pow_GR_tag                = r56// floating point registers usedPOW_B                     = f32POW_NORM_X                = f33POW_Xm1                   = f34POW_r1                    = f34POW_P4                    = f35POW_P5                    = f36POW_NORM_Y                = f37POW_Q2                    = f38POW_Q3                    = f39POW_P2                    = f40POW_P3                    = f41POW_P0                    = f42POW_log2_lo               = f43POW_r                     = f44POW_Q0_half               = f45POW_Q1                    = f46POW_tmp                   = f47POW_log2_hi               = f48POW_Q4                    = f49POW_P1                    = f50POW_log2_by_128_hi        = f51POW_inv_log2_by_128       = f52POW_rsq                   = f53POW_Yrcub                 = f54POW_log2_by_128_lo        = f55POW_v6                    = f56POW_xsq                   = f57POW_v4                    = f58POW_v2                    = f59POW_T                     = f60POW_Tt                    = f61POW_RSHF                  = f62POW_v21ps                 = f63POW_s4                    = f64POW_twoV                  = f65POW_U                     = f66POW_G                     = f67POW_delta                 = f68POW_v3                    = f69POW_V                     = f70POW_p                     = f71POW_Z1                    = f72POW_e3                    = f73POW_e2                    = f74POW_Z2                    = f75POW_e1                    = f76POW_W1                    = f77POW_UmZ2                  = f78POW_W2                    = f79POW_Z3                    = f80POW_int_W1                = f81POW_e12                   = f82POW_int_W2                = f83POW_UmZ2pV                = f84POW_Z3sq                  = f85POW_e123                  = f86POW_N1float               = f87POW_N2float               = f88POW_f3                    = f89POW_q                     = f90POW_s1                    = f91POW_Nfloat                = f92POW_s2                    = f93POW_f2                    = f94POW_f1                    = f95POW_T1                    = f96POW_T2                    = f97POW_2M                    = f98POW_s                     = f99POW_f12                   = f100POW_ssq                   = f101POW_T1T2                  = f102POW_1ps                   = f103POW_A                     = f104POW_es                    = f105POW_Xp1                   = f106POW_int_K                 = f107POW_K                     = f108POW_f123                  = f109POW_Gpr                   = f110POW_Y_Gpr                 = f111POW_int_Y                 = f112POW_abs_q                 = f114POW_2toM63                = f115POW_float_int_Y           = f116POW_ftz_urm_f8            = f117POW_wre_urm_f8            = f118POW_big_neg               = f119POW_big_pos               = f120POW_GY_Z2                 = f121POW_pYrcub_e3             = f122POW_d                     = f123POW_d2                    = f124POW_poly_d_hi             = f121POW_poly_d_lo             = f122POW_poly_d                = f121// Data tables//==============================================================RODATA.align 16LOCAL_OBJECT_START(pow_table_P)data8 0x8000F7B249FF332D, 0x0000BFFC  // P_5data8 0xAAAAAAA9E7902C7F, 0x0000BFFC  // P_3data8 0x80000000000018E5, 0x0000BFFD  // P_1data8 0xb8aa3b295c17f0bc, 0x00004006  // inv_ln2_by_128////data8 0x3FA5555555554A9E // Q_2data8 0x3F8111124F4DD9F9 // Q_3data8 0x3FE0000000000000 // Q_0data8 0x3FC5555555554733 // Q_1data8 0x3F56C16D9360FFA0 // Q_4data8 0x43e8000000000000 // Right shift constant for expdata8 0xc9e3b39803f2f6af, 0x00003fb7  // ln2_by_128_lodata8 0x0000000000000000 // pad to eliminate bank conflicts with pow_table_Qdata8 0x0000000000000000 // pad to eliminate bank conflicts with pow_table_QLOCAL_OBJECT_END(pow_table_P)LOCAL_OBJECT_START(pow_table_Q)data8 0x9249FE7F0DC423CF, 0x00003FFC  // P_4data8 0xCCCCCCCC4ED2BA7F, 0x00003FFC  // P_2data8 0xAAAAAAAAAAAAB505, 0x00003FFD  // P_0data8 0x3fe62e42fefa39e8, 0x3cccd5e4f1d9cc02 // log2 hi lo =  +6.93147e-001data8 0xb17217f7d1cf79ab, 0x00003ff7  // ln2_by_128_hiLOCAL_OBJECT_END(pow_table_Q)LOCAL_OBJECT_START(pow_Tt)data8 0x3f60040155d58800, 0x3c93bce0ce3ddd81 // log(1/frcpa(1+0/256))=  +1.95503e-003data8 0x3f78121214586a00, 0x3cb540e0a5cfc9bc // log(1/frcpa(1+1/256))=  +5.87661e-003data8 0x3f841929f9683200, 0x3cbdf1d57404da1f // log(1/frcpa(1+2/256))=  +9.81362e-003data8 0x3f8c317384c75f00, 0x3c69806208c04c22 // log(1/frcpa(1+3/256))=  +1.37662e-002data8 0x3f91a6b91ac73380, 0x3c7874daa716eb32 // log(1/frcpa(1+4/256))=  +1.72376e-002data8 0x3f95ba9a5d9ac000, 0x3cacbb84e08d78ac // log(1/frcpa(1+5/256))=  +2.12196e-002data8 0x3f99d2a807432580, 0x3cbcf80538b441e1 // log(1/frcpa(1+6/256))=  +2.52177e-002data8 0x3f9d6b2725979800, 0x3c6095e5c8f8f359 // log(1/frcpa(1+7/256))=  +2.87291e-002data8 0x3fa0c58fa19dfa80, 0x3cb4c5d4e9d0dda2 // log(1/frcpa(1+8/256))=  +3.27573e-002data8 0x3fa2954c78cbce00, 0x3caa932b860ab8d6 // log(1/frcpa(1+9/256))=  +3.62953e-002data8 0x3fa4a94d2da96c40, 0x3ca670452b76bbd5 // log(1/frcpa(1+10/256))=  +4.03542e-002data8 0x3fa67c94f2d4bb40, 0x3ca84104f9941798 // log(1/frcpa(1+11/256))=  +4.39192e-002data8 0x3fa85188b630f040, 0x3cb40a882cbf0153 // log(1/frcpa(1+12/256))=  +4.74971e-002data8 0x3faa6b8abe73af40, 0x3c988d46e25c9059 // log(1/frcpa(1+13/256))=  +5.16017e-002data8 0x3fac441e06f72a80, 0x3cae3e930a1a2a96 // log(1/frcpa(1+14/256))=  +5.52072e-002data8 0x3fae1e6713606d00, 0x3c8a796f6283b580 // log(1/frcpa(1+15/256))=  +5.88257e-002data8 0x3faffa6911ab9300, 0x3c5193070351e88a // log(1/frcpa(1+16/256))=  +6.24574e-002data8 0x3fb0ec139c5da600, 0x3c623f2a75eb992d // log(1/frcpa(1+17/256))=  +6.61022e-002data8 0x3fb1dbd2643d1900, 0x3ca649b2ef8927f0 // log(1/frcpa(1+18/256))=  +6.97605e-002data8 0x3fb2cc7284fe5f00, 0x3cbc5e86599513e2 // log(1/frcpa(1+19/256))=  +7.34321e-002data8 0x3fb3bdf5a7d1ee60, 0x3c90bd4bb69dada3 // log(1/frcpa(1+20/256))=  +7.71173e-002data8 0x3fb4b05d7aa012e0, 0x3c54e377c9b8a54f // log(1/frcpa(1+21/256))=  +8.08161e-002data8 0x3fb580db7ceb5700, 0x3c7fdb2f98354cde // log(1/frcpa(1+22/256))=  +8.39975e-002data8 0x3fb674f089365a60, 0x3cb9994c9d3301c1 // log(1/frcpa(1+23/256))=  +8.77219e-002data8 0x3fb769ef2c6b5680, 0x3caaec639db52a79 // log(1/frcpa(1+24/256))=  +9.14602e-002data8 0x3fb85fd927506a40, 0x3c9f9f99a3cf8e25 // log(1/frcpa(1+25/256))=  +9.52125e-002data8 0x3fb9335e5d594980, 0x3ca15c3abd47d99a // log(1/frcpa(1+26/256))=  +9.84401e-002data8 0x3fba2b0220c8e5e0, 0x3cb4ca639adf6fc3 // log(1/frcpa(1+27/256))=  +1.02219e-001data8 0x3fbb0004ac1a86a0, 0x3ca7cb81bf959a59 // log(1/frcpa(1+28/256))=  +1.05469e-001data8 0x3fbbf968769fca00, 0x3cb0c646c121418e // log(1/frcpa(1+29/256))=  +1.09274e-001data8 0x3fbccfedbfee13a0, 0x3ca0465fce24ab4b // log(1/frcpa(1+30/256))=  +1.12548e-001data8 0x3fbda727638446a0, 0x3c82803f4e2e6603 // log(1/frcpa(1+31/256))=  +1.15832e-001data8 0x3fbea3257fe10f60, 0x3cb986a3f2313d1a // log(1/frcpa(1+32/256))=  +1.19677e-001data8 0x3fbf7be9fedbfde0, 0x3c97d16a6a621cf4 // log(1/frcpa(1+33/256))=  +1.22985e-001data8 0x3fc02ab352ff25f0, 0x3c9cc6baad365600 // log(1/frcpa(1+34/256))=  +1.26303e-001data8 0x3fc097ce579d2040, 0x3cb9ba16d329440b // log(1/frcpa(1+35/256))=  +1.29633e-001data8 0x3fc1178e8227e470, 0x3cb7bc671683f8e6 // log(1/frcpa(1+36/256))=  +1.33531e-001data8 0x3fc185747dbecf30, 0x3c9d1116f66d2345 // log(1/frcpa(1+37/256))=  +1.36885e-001data8 0x3fc1f3b925f25d40, 0x3c8162c9ef939ac6 // log(1/frcpa(1+38/256))=  +1.40250e-001data8 0x3fc2625d1e6ddf50, 0x3caad3a1ec384fc3 // log(1/frcpa(1+39/256))=  +1.43627e-001data8 0x3fc2d1610c868130, 0x3cb3ad997036941b // log(1/frcpa(1+40/256))=  +1.47015e-001data8 0x3fc340c597411420, 0x3cbc2308262c7998 // log(1/frcpa(1+41/256))=  +1.50414e-001data8 0x3fc3b08b6757f2a0, 0x3cb2170d6cdf0526 // log(1/frcpa(1+42/256))=  +1.53825e-001data8 0x3fc40dfb08378000, 0x3c9bb453c4f7b685 // log(1/frcpa(1+43/256))=  +1.56677e-001data8 0x3fc47e74e8ca5f70, 0x3cb836a48fdfce9d // log(1/frcpa(1+44/256))=  +1.60109e-001data8 0x3fc4ef51f6466de0, 0x3ca07a43919aa64b // log(1/frcpa(1+45/256))=  +1.63553e-001data8 0x3fc56092e02ba510, 0x3ca85006899d97b0 // log(1/frcpa(1+46/256))=  +1.67010e-001data8 0x3fc5d23857cd74d0, 0x3ca30a5ba6e7abbe // log(1/frcpa(1+47/256))=  +1.70478e-001data8 0x3fc6313a37335d70, 0x3ca905586f0ac97e // log(1/frcpa(1+48/256))=  +1.73377e-001data8 0x3fc6a399dabbd380, 0x3c9b2c6657a96684 // log(1/frcpa(1+49/256))=  +1.76868e-001data8 0x3fc70337dd3ce410, 0x3cb50bc52f55cdd8 // log(1/frcpa(1+50/256))=  +1.79786e-001data8 0x3fc77654128f6120, 0x3cad2eb7c9a39efe // log(1/frcpa(1+51/256))=  +1.83299e-001data8 0x3fc7e9d82a0b0220, 0x3cba127e90393c01 // log(1/frcpa(1+52/256))=  +1.86824e-001data8 0x3fc84a6b759f5120, 0x3cbd7fd52079f706 // log(1/frcpa(1+53/256))=  +1.89771e-001data8 0x3fc8ab47d5f5a300, 0x3cbfae141751a3de // log(1/frcpa(1+54/256))=  +1.92727e-001data8 0x3fc91fe490965810, 0x3cb69cf30a1c319e // log(1/frcpa(1+55/256))=  +1.96286e-001data8 0x3fc981634011aa70, 0x3ca5bb3d208bc42a // log(1/frcpa(1+56/256))=  +1.99261e-001data8 0x3fc9f6c407089660, 0x3ca04d68658179a0 // log(1/frcpa(1+57/256))=  +2.02843e-001data8 0x3fca58e729348f40, 0x3c99f5411546c286 // log(1/frcpa(1+58/256))=  +2.05838e-001data8 0x3fcabb55c31693a0, 0x3cb9a5350eb327d5 // log(1/frcpa(1+59/256))=  +2.08842e-001data8 0x3fcb1e104919efd0, 0x3c18965fcce7c406 // log(1/frcpa(1+60/256))=  +2.11855e-001data8 0x3fcb94ee93e367c0, 0x3cb503716da45184 // log(1/frcpa(1+61/256))=  +2.15483e-001data8 0x3fcbf851c0675550, 0x3cbdf1b3f7ab5378 // log(1/frcpa(1+62/256))=  +2.18516e-001data8 0x3fcc5c0254bf23a0, 0x3ca7aab9ed0b1d7b // log(1/frcpa(1+63/256))=  +2.21558e-001data8 0x3fccc000c9db3c50, 0x3c92a7a2a850072a // log(1/frcpa(1+64/256))=  +2.24609e-001data8 0x3fcd244d99c85670, 0x3c9f6019120edf4c // log(1/frcpa(1+65/256))=  +2.27670e-001data8 0x3fcd88e93fb2f450, 0x3c6affb96815e081 // log(1/frcpa(1+66/256))=  +2.30741e-001data8 0x3fcdedd437eaef00, 0x3c72553595897976 // log(1/frcpa(1+67/256))=  +2.33820e-001data8 0x3fce530effe71010, 0x3c90913b020fa182 // log(1/frcpa(1+68/256))=  +2.36910e-001data8 0x3fceb89a1648b970, 0x3c837ba4045bfd25 // log(1/frcpa(1+69/256))=  +2.40009e-001data8 0x3fcf1e75fadf9bd0, 0x3cbcea6d13e0498d // log(1/frcpa(1+70/256))=  +2.43117e-001data8 0x3fcf84a32ead7c30, 0x3ca5e3a67b3c6d77 // log(1/frcpa(1+71/256))=  +2.46235e-001data8 0x3fcfeb2233ea07c0, 0x3cba0c6f0049c5a6 // log(1/frcpa(1+72/256))=  +2.49363e-001data8 0x3fd028f9c7035c18, 0x3cb0a30b06677ff6 // log(1/frcpa(1+73/256))=  +2.52501e-001data8 0x3fd05c8be0d96358, 0x3ca0f1c77ccb5865 // log(1/frcpa(1+74/256))=  +2.55649e-001data8 0x3fd085eb8f8ae790, 0x3cbd513f45fe7a97 // log(1/frcpa(1+75/256))=  +2.58174e-001data8 0x3fd0b9c8e32d1910, 0x3c927449047ca006 // log(1/frcpa(1+76/256))=  +2.61339e-001data8 0x3fd0edd060b78080, 0x3c89b52d8435f53e // log(1/frcpa(1+77/256))=  +2.64515e-001data8 0x3fd122024cf00638, 0x3cbdd976fabda4bd // log(1/frcpa(1+78/256))=  +2.67701e-001data8 0x3fd14be2927aecd0, 0x3cb02f90ad0bc471 // log(1/frcpa(1+79/256))=  +2.70257e-001data8 0x3fd180618ef18ad8, 0x3cbd003792c71a98 // log(1/frcpa(1+80/256))=  +2.73461e-001data8 0x3fd1b50bbe2fc638, 0x3ca9ae64c6403ead // log(1/frcpa(1+81/256))=  +2.76675e-001data8 0x3fd1df4cc7cf2428, 0x3cb43f0455f7e395 // log(1/frcpa(1+82/256))=  +2.79254e-001data8 0x3fd214456d0eb8d0, 0x3cb0fbd748d75d30 // log(1/frcpa(1+83/256))=  +2.82487e-001data8 0x3fd23ec5991eba48, 0x3c906edd746b77e2 // log(1/frcpa(1+84/256))=  +2.85081e-001data8 0x3fd2740d9f870af8, 0x3ca9802e6a00a670 // log(1/frcpa(1+85/256))=  +2.88333e-001data8 0x3fd29ecdabcdfa00, 0x3cacecef70890cfa // log(1/frcpa(1+86/256))=  +2.90943e-001data8 0x3fd2d46602adcce8, 0x3cb97911955f3521 // log(1/frcpa(1+87/256))=  +2.94214e-001data8 0x3fd2ff66b04ea9d0, 0x3cb12dabe191d1c9 // log(1/frcpa(1+88/256))=  +2.96838e-001data8 0x3fd335504b355a30, 0x3cbdf9139df924ec // log(1/frcpa(1+89/256))=  +3.00129e-001data8 0x3fd360925ec44f58, 0x3cb253e68977a1e3 // log(1/frcpa(1+90/256))=  +3.02769e-001data8 0x3fd38bf1c3337e70, 0x3cb3d283d2a2da21 // log(1/frcpa(1+91/256))=  +3.05417e-001data8 0x3fd3c25277333180, 0x3cadaa5b035eae27 // log(1/frcpa(1+92/256))=  +3.08735e-001data8 0x3fd3edf463c16838, 0x3cb983d680d3c108 // log(1/frcpa(1+93/256))=  +3.11399e-001data8 0x3fd419b423d5e8c0, 0x3cbc86dd921c139d // log(1/frcpa(1+94/256))=  +3.14069e-001

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -