| 1 | module math |
| 2 | |
| 3 | const gamma_p = [ |
| 4 | 1.60119522476751861407e-04, |
| 5 | 1.19135147006586384913e-03, |
| 6 | 1.04213797561761569935e-02, |
| 7 | 4.76367800457137231464e-02, |
| 8 | 2.07448227648435975150e-01, |
| 9 | 4.94214826801497100753e-01, |
| 10 | 9.99999999999999996796e-01, |
| 11 | ] |
| 12 | const gamma_q = [ |
| 13 | -2.31581873324120129819e-05, |
| 14 | 5.39605580493303397842e-04, |
| 15 | -4.45641913851797240494e-03, |
| 16 | 1.18139785222060435552e-02, |
| 17 | 3.58236398605498653373e-02, |
| 18 | -2.34591795718243348568e-01, |
| 19 | 7.14304917030273074085e-02, |
| 20 | 1.00000000000000000320e+00, |
| 21 | ] |
| 22 | const gamma_s = [ |
| 23 | 7.87311395793093628397e-04, |
| 24 | -2.29549961613378126380e-04, |
| 25 | -2.68132617805781232825e-03, |
| 26 | 3.47222221605458667310e-03, |
| 27 | 8.33333333333482257126e-02, |
| 28 | ] |
| 29 | const lgamma_a = [ |
| 30 | // 0x3FB3C467E37DB0C8 |
| 31 | 7.72156649015328655494e-02, |
| 32 | // 0x3FD4A34CC4A60FAD |
| 33 | 3.22467033424113591611e-01, |
| 34 | // 0x3FB13E001A5562A7 |
| 35 | 6.73523010531292681824e-02, |
| 36 | // 0x3F951322AC92547B |
| 37 | 2.05808084325167332806e-02, |
| 38 | // 0x3F7E404FB68FEFE8 |
| 39 | 7.38555086081402883957e-03, |
| 40 | // 0x3F67ADD8CCB7926B |
| 41 | 2.89051383673415629091e-03, |
| 42 | // 0x3F538A94116F3F5D |
| 43 | 1.19270763183362067845e-03, |
| 44 | // 0x3F40B6C689B99C00 |
| 45 | 5.10069792153511336608e-04, |
| 46 | // 0x3F2CF2ECED10E54D |
| 47 | 2.20862790713908385557e-04, |
| 48 | // 0x3F1C5088987DFB07 |
| 49 | 1.08011567247583939954e-04, |
| 50 | // 0x3EFA7074428CFA52 |
| 51 | 2.52144565451257326939e-05, |
| 52 | // 0x3F07858E90A45837 |
| 53 | 4.48640949618915160150e-05, |
| 54 | ] |
| 55 | const lgamma_r = [ |
| 56 | // placeholder |
| 57 | 1.0, |
| 58 | // 0x3FF645A762C4AB74 |
| 59 | 1.39200533467621045958e+00, |
| 60 | // 0x3FE71A1893D3DCDC |
| 61 | 7.21935547567138069525e-01, |
| 62 | // 0x3FC601EDCCFBDF27 |
| 63 | 1.71933865632803078993e-01, |
| 64 | // 0x3F9317EA742ED475 |
| 65 | 1.86459191715652901344e-02, |
| 66 | // 0x3F497DDACA41A95B |
| 67 | 7.77942496381893596434e-04, |
| 68 | // 0x3EDEBAF7A5B38140 |
| 69 | 7.32668430744625636189e-06, |
| 70 | ] |
| 71 | const lgamma_s = [ |
| 72 | // 0xBFB3C467E37DB0C8 |
| 73 | -7.72156649015328655494e-02, |
| 74 | // 0x3FCB848B36E20878 |
| 75 | 2.14982415960608852501e-01, |
| 76 | // 0x3FD4D98F4F139F59 |
| 77 | 3.25778796408930981787e-01, |
| 78 | // 0x3FC2BB9CBEE5F2F7 |
| 79 | 1.46350472652464452805e-01, |
| 80 | // 0x3F9B481C7E939961 |
| 81 | 2.66422703033638609560e-02, |
| 82 | // 0x3F5E26B67368F239 |
| 83 | 1.84028451407337715652e-03, |
| 84 | // 0x3F00BFECDD17E945 |
| 85 | 3.19475326584100867617e-05, |
| 86 | ] |
| 87 | const lgamma_t = [ |
| 88 | // 0x3FDEF72BC8EE38A2 |
| 89 | 4.83836122723810047042e-01, |
| 90 | // 0xBFC2E4278DC6C509 |
| 91 | -1.47587722994593911752e-01, |
| 92 | // 0x3FB08B4294D5419B |
| 93 | 6.46249402391333854778e-02, |
| 94 | // 0xBFA0C9A8DF35B713 |
| 95 | -3.27885410759859649565e-02, |
| 96 | // 0x3F9266E7970AF9EC |
| 97 | 1.79706750811820387126e-02, |
| 98 | // 0xBF851F9FBA91EC6A |
| 99 | -1.03142241298341437450e-02, |
| 100 | // 0x3F78FCE0E370E344 |
| 101 | 6.10053870246291332635e-03, |
| 102 | // 0xBF6E2EFFB3E914D7 |
| 103 | -3.68452016781138256760e-03, |
| 104 | // 0x3F6282D32E15C915 |
| 105 | 2.25964780900612472250e-03, |
| 106 | // 0xBF56FE8EBF2D1AF1 |
| 107 | -1.40346469989232843813e-03, |
| 108 | // 0x3F4CDF0CEF61A8E9 |
| 109 | 8.81081882437654011382e-04, |
| 110 | // 0xBF41A6109C73E0EC |
| 111 | -5.38595305356740546715e-04, |
| 112 | // 0x3F34AF6D6C0EBBF7 |
| 113 | 3.15632070903625950361e-04, |
| 114 | // 0xBF347F24ECC38C38 |
| 115 | -3.12754168375120860518e-04, |
| 116 | // 0x3F35FD3EE8C2D3F4 |
| 117 | 3.35529192635519073543e-04, |
| 118 | ] |
| 119 | const lgamma_u = [ |
| 120 | // 0xBFB3C467E37DB0C8 |
| 121 | -7.72156649015328655494e-02, |
| 122 | // 0x3FE4401E8B005DFF |
| 123 | 6.32827064025093366517e-01, |
| 124 | // 0x3FF7475CD119BD6F |
| 125 | 1.45492250137234768737e+00, |
| 126 | // 0x3FEF497644EA8450 |
| 127 | 9.77717527963372745603e-01, |
| 128 | // 0x3FCD4EAEF6010924 |
| 129 | 2.28963728064692451092e-01, |
| 130 | // 0x3F8B678BBF2BAB09 |
| 131 | 1.33810918536787660377e-02, |
| 132 | ] |
| 133 | const lgamma_v = [ |
| 134 | 1.0, |
| 135 | // 0x4003A5D7C2BD619C |
| 136 | 2.45597793713041134822e+00, |
| 137 | // 0x40010725A42B18F5 |
| 138 | 2.12848976379893395361e+00, |
| 139 | // 0x3FE89DFBE45050AF |
| 140 | 7.69285150456672783825e-01, |
| 141 | // 0x3FBAAE55D6537C88 |
| 142 | 1.04222645593369134254e-01, |
| 143 | // 0x3F6A5ABB57D0CF61 |
| 144 | 3.21709242282423911810e-03, |
| 145 | ] |
| 146 | const lgamma_w = [ |
| 147 | // 0x3FDACFE390C97D69 |
| 148 | 4.18938533204672725052e-01, |
| 149 | // 0x3FB555555555553B |
| 150 | 8.33333333333329678849e-02, |
| 151 | // 0xBF66C16C16B02E5C |
| 152 | -2.77777777728775536470e-03, |
| 153 | // 0x3F4A019F98CF38B6 |
| 154 | 7.93650558643019558500e-04, |
| 155 | // 0xBF4380CB8C0FE741 |
| 156 | -5.95187557450339963135e-04, |
| 157 | // 0x3F4B67BA4CDAD5D1 |
| 158 | 8.36339918996282139126e-04, |
| 159 | // 0xBF5AB89D0B9E43E4 |
| 160 | -1.63092934096575273989e-03, |
| 161 | ] |
| 162 | |