| author | |
| committer | |
| log | 9dd32d5e65989c33101d4607a0ae15e6b4034879 |
| tree | ce53eef8cd039e5fa3e5d46f3ef9897a723cbf74 |
| parent | b94a65ed403f440a53ae29f9f3cc9643fd2076d9 |
| signature |
18 files changed, 0 insertions(+), 889 deletions(-)
lib/libc/mingw/math/x86/log.c deleted-46| ... | ... | @@ -1,46 +0,0 @@ |
| 1 | /* | |
| 2 | This Software is provided under the Zope Public License (ZPL) Version 2.1. | |
| 3 | ||
| 4 | Copyright (c) 2009, 2010 by the mingw-w64 project | |
| 5 | ||
| 6 | See the AUTHORS file for the list of contributors to the mingw-w64 project. | |
| 7 | ||
| 8 | This license has been certified as open source. It has also been designated | |
| 9 | as GPL compatible by the Free Software Foundation (FSF). | |
| 10 | ||
| 11 | Redistribution and use in source and binary forms, with or without | |
| 12 | modification, are permitted provided that the following conditions are met: | |
| 13 | ||
| 14 | 1. Redistributions in source code must retain the accompanying copyright | |
| 15 | notice, this list of conditions, and the following disclaimer. | |
| 16 | 2. Redistributions in binary form must reproduce the accompanying | |
| 17 | copyright notice, this list of conditions, and the following disclaimer | |
| 18 | in the documentation and/or other materials provided with the | |
| 19 | distribution. | |
| 20 | 3. Names of the copyright holders must not be used to endorse or promote | |
| 21 | products derived from this software without prior written permission | |
| 22 | from the copyright holders. | |
| 23 | 4. The right to distribute this software or to use it for any purpose does | |
| 24 | not give you the right to use Servicemarks (sm) or Trademarks (tm) of | |
| 25 | the copyright holders. Use of them is covered by separate agreement | |
| 26 | with the copyright holders. | |
| 27 | 5. If any files are modified, you must cause the modified files to carry | |
| 28 | prominent notices stating that you changed the files and the date of | |
| 29 | any change. | |
| 30 | ||
| 31 | Disclaimer | |
| 32 | ||
| 33 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED | |
| 34 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
| 35 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | |
| 36 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, | |
| 37 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
| 38 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | |
| 39 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | |
| 40 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
| 41 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |
| 42 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 43 | */ | |
| 44 | ||
| 45 | #define _NEW_COMPLEX_DOUBLE 1 | |
| 46 | #include "log.def.h" |
lib/libc/mingw/math/x86/log2f.S deleted-85| ... | ... | @@ -1,85 +0,0 @@ |
| 1 | /** | |
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 | * This file is part of the mingw-w64 runtime package. | |
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| 5 | */ | |
| 6 | #include <_mingw_mac.h> | |
| 7 | ||
| 8 | 	.file	"log2f.S" | |
| 9 | 	.text | |
| 10 | #ifdef __x86_64__ | |
| 11 | 	.align 8 | |
| 12 | #else | |
| 13 | 	.align 4 | |
| 14 | #endif | |
| 15 | one:	.double 1.0 | |
| 16 | 	/* It is not important that this constant is precise. It is only | |
| 17 | 	 a value which is known to be on the safe side for using the | |
| 18 | 	 fyl2xp1 instruction. */ | |
| 19 | limit:	.double 0.29 | |
| 20 | ||
| 21 | .globl __MINGW_USYMBOL(log2f) | |
| 22 | 	.def	__MINGW_USYMBOL(log2f);	.scl	2;	.type	32;	.endef | |
| 23 | __MINGW_USYMBOL(log2f): | |
| 24 | #ifdef __x86_64__ | |
| 25 | 	movss	%xmm0,-12(%rsp) | |
| 26 | 	fldl	one(%rip) | |
| 27 | 	flds	-12(%rsp)		// x : 1 | |
| 28 | 	fxam | |
| 29 | 	fnstsw | |
| 30 | 	fld	%st		// x : x : 1 | |
| 31 | 	sahf | |
| 32 | 	jc	3f		// in case x is NaN or �Inf | |
| 33 | 4:	fsub	%st(2), %st	// x-1 : x : 1 | |
| 34 | 	fld	%st		// x-1 : x-1 : x : 1 | |
| 35 | 	fabs			// |x-1| : x-1 : x : 1 | |
| 36 | 	fcompl	limit(%rip)	// x-1 : x : 1 | |
| 37 | 	fnstsw			// x-1 : x : 1 | |
| 38 | 	andb	$0x45, %ah | |
| 39 | 	jz	2f | |
| 40 | 	fstp	%st(1)		// x-1 : 1 | |
| 41 | 	fyl2xp1			// log(x) | |
| 42 | 	fstps	-12(%rsp) | |
| 43 | 	movss	-12(%rsp),%xmm0 | |
| 44 | 	ret | |
| 45 | ||
| 46 | 2:	fstp	%st(0)		// x : 1 | |
| 47 | 	fyl2x			// log(x) | |
| 48 | 	fstps	-12(%rsp) | |
| 49 | 	movss	-12(%rsp),%xmm0 | |
| 50 | 	ret | |
| 51 | ||
| 52 | 3:	jp	4b		// in case x is �Inf | |
| 53 | 	fstp	%st(1) | |
| 54 | 	fstp	%st(1) | |
| 55 | 	fstps	-12(%rsp) | |
| 56 | 	movss	-12(%rsp),%xmm0 | |
| 57 | 	ret | |
| 58 | #else | |
| 59 | 	fldl	one | |
| 60 | 	flds	4(%esp)		// x : 1 | |
| 61 | 	fxam | |
| 62 | 	fnstsw | |
| 63 | 	fld	%st		// x : x : 1 | |
| 64 | 	sahf | |
| 65 | 	jc	3f		// in case x is NaN or �Inf | |
| 66 | 4:	fsub	%st(2), %st	// x-1 : x : 1 | |
| 67 | 	fld	%st		// x-1 : x-1 : x : 1 | |
| 68 | 	fabs			// |x-1| : x-1 : x : 1 | |
| 69 | 	fcompl	limit		// x-1 : x : 1 | |
| 70 | 	fnstsw			// x-1 : x : 1 | |
| 71 | 	andb	$0x45, %ah | |
| 72 | 	jz	2f | |
| 73 | 	fstp	%st(1)		// x-1 : 1 | |
| 74 | 	fyl2xp1			// log(x) | |
| 75 | 	ret | |
| 76 | ||
| 77 | 2:	fstp	%st(0)		// x : 1 | |
| 78 | 	fyl2x			// log(x) | |
| 79 | 	ret | |
| 80 | ||
| 81 | 3:	jp	4b		// in case x is �Inf | |
| 82 | 	fstp	%st(1) | |
| 83 | 	fstp	%st(1) | |
| 84 | 	ret | |
| 85 | #endif |
lib/libc/musl/src/math/i386/log.s deleted-9| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | .global log | |
| 2 | .type log,@function | |
| 3 | log: | |
| 4 | 	fldln2 | |
| 5 | 	fldl 4(%esp) | |
| 6 | 	fyl2x | |
| 7 | 	fstpl 4(%esp) | |
| 8 | 	fldl 4(%esp) | |
| 9 | 	ret |
lib/libc/musl/src/math/i386/log10.s deleted-9| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | .global log10 | |
| 2 | .type log10,@function | |
| 3 | log10: | |
| 4 | 	fldlg2 | |
| 5 | 	fldl 4(%esp) | |
| 6 | 	fyl2x | |
| 7 | 	fstpl 4(%esp) | |
| 8 | 	fldl 4(%esp) | |
| 9 | 	ret |
lib/libc/musl/src/math/i386/log10f.s deleted-9| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | .global log10f | |
| 2 | .type log10f,@function | |
| 3 | log10f: | |
| 4 | 	fldlg2 | |
| 5 | 	flds 4(%esp) | |
| 6 | 	fyl2x | |
| 7 | 	fstps 4(%esp) | |
| 8 | 	flds 4(%esp) | |
| 9 | 	ret |
lib/libc/musl/src/math/i386/log2.s deleted-9| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | .global log2 | |
| 2 | .type log2,@function | |
| 3 | log2: | |
| 4 | 	fld1 | |
| 5 | 	fldl 4(%esp) | |
| 6 | 	fyl2x | |
| 7 | 	fstpl 4(%esp) | |
| 8 | 	fldl 4(%esp) | |
| 9 | 	ret |
lib/libc/musl/src/math/i386/log2f.s deleted-9| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | .global log2f | |
| 2 | .type log2f,@function | |
| 3 | log2f: | |
| 4 | 	fld1 | |
| 5 | 	flds 4(%esp) | |
| 6 | 	fyl2x | |
| 7 | 	fstps 4(%esp) | |
| 8 | 	flds 4(%esp) | |
| 9 | 	ret |
lib/libc/musl/src/math/i386/logf.s deleted-9| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | .global logf | |
| 2 | .type logf,@function | |
| 3 | logf: | |
| 4 | 	fldln2 | |
| 5 | 	flds 4(%esp) | |
| 6 | 	fyl2x | |
| 7 | 	fstps 4(%esp) | |
| 8 | 	flds 4(%esp) | |
| 9 | 	ret |
lib/libc/musl/src/math/log2_data.c deleted-201| ... | ... | @@ -1,201 +0,0 @@ |
| 1 | /* | |
| 2 | * Data for log2. | |
| 3 | * | |
| 4 | * Copyright (c) 2018, Arm Limited. | |
| 5 | * SPDX-License-Identifier: MIT | |
| 6 | */ | |
| 7 | ||
| 8 | #include "log2_data.h" | |
| 9 | ||
| 10 | #define N (1 << LOG2_TABLE_BITS) | |
| 11 | ||
| 12 | const struct log2_data __log2_data = { | |
| 13 | // First coefficient: 0x1.71547652b82fe1777d0ffda0d24p0 | |
| 14 | .invln2hi = 0x1.7154765200000p+0, | |
| 15 | .invln2lo = 0x1.705fc2eefa200p-33, | |
| 16 | .poly1 = { | |
| 17 | // relative error: 0x1.2fad8188p-63 | |
| 18 | // in -0x1.5b51p-5 0x1.6ab2p-5 | |
| 19 | -0x1.71547652b82fep-1, | |
| 20 | 0x1.ec709dc3a03f7p-2, | |
| 21 | -0x1.71547652b7c3fp-2, | |
| 22 | 0x1.2776c50f05be4p-2, | |
| 23 | -0x1.ec709dd768fe5p-3, | |
| 24 | 0x1.a61761ec4e736p-3, | |
| 25 | -0x1.7153fbc64a79bp-3, | |
| 26 | 0x1.484d154f01b4ap-3, | |
| 27 | -0x1.289e4a72c383cp-3, | |
| 28 | 0x1.0b32f285aee66p-3, | |
| 29 | }, | |
| 30 | .poly = { | |
| 31 | // relative error: 0x1.a72c2bf8p-58 | |
| 32 | // abs error: 0x1.67a552c8p-66 | |
| 33 | // in -0x1.f45p-8 0x1.f45p-8 | |
| 34 | -0x1.71547652b8339p-1, | |
| 35 | 0x1.ec709dc3a04bep-2, | |
| 36 | -0x1.7154764702ffbp-2, | |
| 37 | 0x1.2776c50034c48p-2, | |
| 38 | -0x1.ec7b328ea92bcp-3, | |
| 39 | 0x1.a6225e117f92ep-3, | |
| 40 | }, | |
| 41 | /* Algorithm: | |
| 42 | ||
| 43 | 	x = 2^k z | |
| 44 | 	log2(x) = k + log2(c) + log2(z/c) | |
| 45 | 	log2(z/c) = poly(z/c - 1) | |
| 46 | ||
| 47 | where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls | |
| 48 | into the ith one, then table entries are computed as | |
| 49 | ||
| 50 | 	tab[i].invc = 1/c | |
| 51 | 	tab[i].logc = (double)log2(c) | |
| 52 | 	tab2[i].chi = (double)c | |
| 53 | 	tab2[i].clo = (double)(c - (double)c) | |
| 54 | ||
| 55 | where c is near the center of the subinterval and is chosen by trying +-2^29 | |
| 56 | floating point invc candidates around 1/center and selecting one for which | |
| 57 | ||
| 58 | 	1) the rounding error in 0x1.8p10 + logc is 0, | |
| 59 | 	2) the rounding error in z - chi - clo is < 0x1p-64 and | |
| 60 | 	3) the rounding error in (double)log2(c) is minimized (< 0x1p-68). | |
| 61 | ||
| 62 | Note: 1) ensures that k + logc can be computed without rounding error, 2) | |
| 63 | ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a | |
| 64 | single rounding error when there is no fast fma for z*invc - 1, 3) ensures | |
| 65 | that logc + poly(z/c - 1) has small error, however near x == 1 when | |
| 66 | |log2(x)| < 0x1p-4, this is not enough so that is special cased. */ | |
| 67 | .tab = { | |
| 68 | {0x1.724286bb1acf8p+0, -0x1.1095feecdb000p-1}, | |
| 69 | {0x1.6e1f766d2cca1p+0, -0x1.08494bd76d000p-1}, | |
| 70 | {0x1.6a13d0e30d48ap+0, -0x1.00143aee8f800p-1}, | |
| 71 | {0x1.661ec32d06c85p+0, -0x1.efec5360b4000p-2}, | |
| 72 | {0x1.623fa951198f8p+0, -0x1.dfdd91ab7e000p-2}, | |
| 73 | {0x1.5e75ba4cf026cp+0, -0x1.cffae0cc79000p-2}, | |
| 74 | {0x1.5ac055a214fb8p+0, -0x1.c043811fda000p-2}, | |
| 75 | {0x1.571ed0f166e1ep+0, -0x1.b0b67323ae000p-2}, | |
| 76 | {0x1.53909590bf835p+0, -0x1.a152f5a2db000p-2}, | |
| 77 | {0x1.5014fed61adddp+0, -0x1.9217f5af86000p-2}, | |
| 78 | {0x1.4cab88e487bd0p+0, -0x1.8304db0719000p-2}, | |
| 79 | {0x1.49539b4334feep+0, -0x1.74189f9a9e000p-2}, | |
| 80 | {0x1.460cbdfafd569p+0, -0x1.6552bb5199000p-2}, | |
| 81 | {0x1.42d664ee4b953p+0, -0x1.56b23a29b1000p-2}, | |
| 82 | {0x1.3fb01111dd8a6p+0, -0x1.483650f5fa000p-2}, | |
| 83 | {0x1.3c995b70c5836p+0, -0x1.39de937f6a000p-2}, | |
| 84 | {0x1.3991c4ab6fd4ap+0, -0x1.2baa1538d6000p-2}, | |
| 85 | {0x1.3698e0ce099b5p+0, -0x1.1d98340ca4000p-2}, | |
| 86 | {0x1.33ae48213e7b2p+0, -0x1.0fa853a40e000p-2}, | |
| 87 | {0x1.30d191985bdb1p+0, -0x1.01d9c32e73000p-2}, | |
| 88 | {0x1.2e025cab271d7p+0, -0x1.e857da2fa6000p-3}, | |
| 89 | {0x1.2b404cf13cd82p+0, -0x1.cd3c8633d8000p-3}, | |
| 90 | {0x1.288b02c7ccb50p+0, -0x1.b26034c14a000p-3}, | |
| 91 | {0x1.25e2263944de5p+0, -0x1.97c1c2f4fe000p-3}, | |
| 92 | {0x1.234563d8615b1p+0, -0x1.7d6023f800000p-3}, | |
| 93 | {0x1.20b46e33eaf38p+0, -0x1.633a71a05e000p-3}, | |
| 94 | {0x1.1e2eefdcda3ddp+0, -0x1.494f5e9570000p-3}, | |
| 95 | {0x1.1bb4a580b3930p+0, -0x1.2f9e424e0a000p-3}, | |
| 96 | {0x1.19453847f2200p+0, -0x1.162595afdc000p-3}, | |
| 97 | {0x1.16e06c0d5d73cp+0, -0x1.f9c9a75bd8000p-4}, | |
| 98 | {0x1.1485f47b7e4c2p+0, -0x1.c7b575bf9c000p-4}, | |
| 99 | {0x1.12358ad0085d1p+0, -0x1.960c60ff48000p-4}, | |
| 100 | {0x1.0fef00f532227p+0, -0x1.64ce247b60000p-4}, | |
| 101 | {0x1.0db2077d03a8fp+0, -0x1.33f78b2014000p-4}, | |
| 102 | {0x1.0b7e6d65980d9p+0, -0x1.0387d1a42c000p-4}, | |
| 103 | {0x1.0953efe7b408dp+0, -0x1.a6f9208b50000p-5}, | |
| 104 | {0x1.07325cac53b83p+0, -0x1.47a954f770000p-5}, | |
| 105 | {0x1.05197e40d1b5cp+0, -0x1.d23a8c50c0000p-6}, | |
| 106 | {0x1.03091c1208ea2p+0, -0x1.16a2629780000p-6}, | |
| 107 | {0x1.0101025b37e21p+0, -0x1.720f8d8e80000p-8}, | |
| 108 | {0x1.fc07ef9caa76bp-1, 0x1.6fe53b1500000p-7}, | |
| 109 | {0x1.f4465d3f6f184p-1, 0x1.11ccce10f8000p-5}, | |
| 110 | {0x1.ecc079f84107fp-1, 0x1.c4dfc8c8b8000p-5}, | |
| 111 | {0x1.e573a99975ae8p-1, 0x1.3aa321e574000p-4}, | |
| 112 | {0x1.de5d6f0bd3de6p-1, 0x1.918a0d08b8000p-4}, | |
| 113 | {0x1.d77b681ff38b3p-1, 0x1.e72e9da044000p-4}, | |
| 114 | {0x1.d0cb5724de943p-1, 0x1.1dcd2507f6000p-3}, | |
| 115 | {0x1.ca4b2dc0e7563p-1, 0x1.476ab03dea000p-3}, | |
| 116 | {0x1.c3f8ee8d6cb51p-1, 0x1.7074377e22000p-3}, | |
| 117 | {0x1.bdd2b4f020c4cp-1, 0x1.98ede8ba94000p-3}, | |
| 118 | {0x1.b7d6c006015cap-1, 0x1.c0db86ad2e000p-3}, | |
| 119 | {0x1.b20366e2e338fp-1, 0x1.e840aafcee000p-3}, | |
| 120 | {0x1.ac57026295039p-1, 0x1.0790ab4678000p-2}, | |
| 121 | {0x1.a6d01bc2731ddp-1, 0x1.1ac056801c000p-2}, | |
| 122 | {0x1.a16d3bc3ff18bp-1, 0x1.2db11d4fee000p-2}, | |
| 123 | {0x1.9c2d14967feadp-1, 0x1.406464ec58000p-2}, | |
| 124 | {0x1.970e4f47c9902p-1, 0x1.52dbe093af000p-2}, | |
| 125 | {0x1.920fb3982bcf2p-1, 0x1.651902050d000p-2}, | |
| 126 | {0x1.8d30187f759f1p-1, 0x1.771d2cdeaf000p-2}, | |
| 127 | {0x1.886e5ebb9f66dp-1, 0x1.88e9c857d9000p-2}, | |
| 128 | {0x1.83c97b658b994p-1, 0x1.9a80155e16000p-2}, | |
| 129 | {0x1.7f405ffc61022p-1, 0x1.abe186ed3d000p-2}, | |
| 130 | {0x1.7ad22181415cap-1, 0x1.bd0f2aea0e000p-2}, | |
| 131 | {0x1.767dcf99eff8cp-1, 0x1.ce0a43dbf4000p-2}, | |
| 132 | }, | |
| 133 | #if !__FP_FAST_FMA | |
| 134 | .tab2 = { | |
| 135 | {0x1.6200012b90a8ep-1, 0x1.904ab0644b605p-55}, | |
| 136 | {0x1.66000045734a6p-1, 0x1.1ff9bea62f7a9p-57}, | |
| 137 | {0x1.69fffc325f2c5p-1, 0x1.27ecfcb3c90bap-55}, | |
| 138 | {0x1.6e00038b95a04p-1, 0x1.8ff8856739326p-55}, | |
| 139 | {0x1.71fffe09994e3p-1, 0x1.afd40275f82b1p-55}, | |
| 140 | {0x1.7600015590e1p-1, -0x1.2fd75b4238341p-56}, | |
| 141 | {0x1.7a00012655bd5p-1, 0x1.808e67c242b76p-56}, | |
| 142 | {0x1.7e0003259e9a6p-1, -0x1.208e426f622b7p-57}, | |
| 143 | {0x1.81fffedb4b2d2p-1, -0x1.402461ea5c92fp-55}, | |
| 144 | {0x1.860002dfafcc3p-1, 0x1.df7f4a2f29a1fp-57}, | |
| 145 | {0x1.89ffff78c6b5p-1, -0x1.e0453094995fdp-55}, | |
| 146 | {0x1.8e00039671566p-1, -0x1.a04f3bec77b45p-55}, | |
| 147 | {0x1.91fffe2bf1745p-1, -0x1.7fa34400e203cp-56}, | |
| 148 | {0x1.95fffcc5c9fd1p-1, -0x1.6ff8005a0695dp-56}, | |
| 149 | {0x1.9a0003bba4767p-1, 0x1.0f8c4c4ec7e03p-56}, | |
| 150 | {0x1.9dfffe7b92da5p-1, 0x1.e7fd9478c4602p-55}, | |
| 151 | {0x1.a1fffd72efdafp-1, -0x1.a0c554dcdae7ep-57}, | |
| 152 | {0x1.a5fffde04ff95p-1, 0x1.67da98ce9b26bp-55}, | |
| 153 | {0x1.a9fffca5e8d2bp-1, -0x1.284c9b54c13dep-55}, | |
| 154 | {0x1.adfffddad03eap-1, 0x1.812c8ea602e3cp-58}, | |
| 155 | {0x1.b1ffff10d3d4dp-1, -0x1.efaddad27789cp-55}, | |
| 156 | {0x1.b5fffce21165ap-1, 0x1.3cb1719c61237p-58}, | |
| 157 | {0x1.b9fffd950e674p-1, 0x1.3f7d94194cep-56}, | |
| 158 | {0x1.be000139ca8afp-1, 0x1.50ac4215d9bcp-56}, | |
| 159 | {0x1.c20005b46df99p-1, 0x1.beea653e9c1c9p-57}, | |
| 160 | {0x1.c600040b9f7aep-1, -0x1.c079f274a70d6p-56}, | |
| 161 | {0x1.ca0006255fd8ap-1, -0x1.a0b4076e84c1fp-56}, | |
| 162 | {0x1.cdfffd94c095dp-1, 0x1.8f933f99ab5d7p-55}, | |
| 163 | {0x1.d1ffff975d6cfp-1, -0x1.82c08665fe1bep-58}, | |
| 164 | {0x1.d5fffa2561c93p-1, -0x1.b04289bd295f3p-56}, | |
| 165 | {0x1.d9fff9d228b0cp-1, 0x1.70251340fa236p-55}, | |
| 166 | {0x1.de00065bc7e16p-1, -0x1.5011e16a4d80cp-56}, | |
| 167 | {0x1.e200002f64791p-1, 0x1.9802f09ef62ep-55}, | |
| 168 | {0x1.e600057d7a6d8p-1, -0x1.e0b75580cf7fap-56}, | |
| 169 | {0x1.ea00027edc00cp-1, -0x1.c848309459811p-55}, | |
| 170 | {0x1.ee0006cf5cb7cp-1, -0x1.f8027951576f4p-55}, | |
| 171 | {0x1.f2000782b7dccp-1, -0x1.f81d97274538fp-55}, | |
| 172 | {0x1.f6000260c450ap-1, -0x1.071002727ffdcp-59}, | |
| 173 | {0x1.f9fffe88cd533p-1, -0x1.81bdce1fda8bp-58}, | |
| 174 | {0x1.fdfffd50f8689p-1, 0x1.7f91acb918e6ep-55}, | |
| 175 | {0x1.0200004292367p+0, 0x1.b7ff365324681p-54}, | |
| 176 | {0x1.05fffe3e3d668p+0, 0x1.6fa08ddae957bp-55}, | |
| 177 | {0x1.0a0000a85a757p+0, -0x1.7e2de80d3fb91p-58}, | |
| 178 | {0x1.0e0001a5f3fccp+0, -0x1.1823305c5f014p-54}, | |
| 179 | {0x1.11ffff8afbaf5p+0, -0x1.bfabb6680bac2p-55}, | |
| 180 | {0x1.15fffe54d91adp+0, -0x1.d7f121737e7efp-54}, | |
| 181 | {0x1.1a00011ac36e1p+0, 0x1.c000a0516f5ffp-54}, | |
| 182 | {0x1.1e00019c84248p+0, -0x1.082fbe4da5dap-54}, | |
| 183 | {0x1.220000ffe5e6ep+0, -0x1.8fdd04c9cfb43p-55}, | |
| 184 | {0x1.26000269fd891p+0, 0x1.cfe2a7994d182p-55}, | |
| 185 | {0x1.2a00029a6e6dap+0, -0x1.00273715e8bc5p-56}, | |
| 186 | {0x1.2dfffe0293e39p+0, 0x1.b7c39dab2a6f9p-54}, | |
| 187 | {0x1.31ffff7dcf082p+0, 0x1.df1336edc5254p-56}, | |
| 188 | {0x1.35ffff05a8b6p+0, -0x1.e03564ccd31ebp-54}, | |
| 189 | {0x1.3a0002e0eaeccp+0, 0x1.5f0e74bd3a477p-56}, | |
| 190 | {0x1.3e000043bb236p+0, 0x1.c7dcb149d8833p-54}, | |
| 191 | {0x1.4200002d187ffp+0, 0x1.e08afcf2d3d28p-56}, | |
| 192 | {0x1.460000d387cb1p+0, 0x1.20837856599a6p-55}, | |
| 193 | {0x1.4a00004569f89p+0, -0x1.9fa5c904fbcd2p-55}, | |
| 194 | {0x1.4e000043543f3p+0, -0x1.81125ed175329p-56}, | |
| 195 | {0x1.51fffcc027f0fp+0, 0x1.883d8847754dcp-54}, | |
| 196 | {0x1.55ffffd87b36fp+0, -0x1.709e731d02807p-55}, | |
| 197 | {0x1.59ffff21df7bap+0, 0x1.7f79f68727b02p-55}, | |
| 198 | {0x1.5dfffebfc3481p+0, -0x1.180902e30e93ep-54}, | |
| 199 | }, | |
| 200 | #endif | |
| 201 | }; |
lib/libc/musl/src/math/log2_data.h deleted-28| ... | ... | @@ -1,28 +0,0 @@ |
| 1 | /* | |
| 2 | * Copyright (c) 2018, Arm Limited. | |
| 3 | * SPDX-License-Identifier: MIT | |
| 4 | */ | |
| 5 | #ifndef _LOG2_DATA_H | |
| 6 | #define _LOG2_DATA_H | |
| 7 | ||
| 8 | #include <features.h> | |
| 9 | ||
| 10 | #define LOG2_TABLE_BITS 6 | |
| 11 | #define LOG2_POLY_ORDER 7 | |
| 12 | #define LOG2_POLY1_ORDER 11 | |
| 13 | extern hidden const struct log2_data { | |
| 14 | 	double invln2hi; | |
| 15 | 	double invln2lo; | |
| 16 | 	double poly[LOG2_POLY_ORDER - 1]; | |
| 17 | 	double poly1[LOG2_POLY1_ORDER - 1]; | |
| 18 | 	struct { | |
| 19 | 		double invc, logc; | |
| 20 | 	} tab[1 << LOG2_TABLE_BITS]; | |
| 21 | #if !__FP_FAST_FMA | |
| 22 | 	struct { | |
| 23 | 		double chi, clo; | |
| 24 | 	} tab2[1 << LOG2_TABLE_BITS]; | |
| 25 | #endif | |
| 26 | } __log2_data; | |
| 27 | ||
| 28 | #endif |
lib/libc/musl/src/math/log2f_data.c deleted-33| ... | ... | @@ -1,33 +0,0 @@ |
| 1 | /* | |
| 2 | * Data definition for log2f. | |
| 3 | * | |
| 4 | * Copyright (c) 2017-2018, Arm Limited. | |
| 5 | * SPDX-License-Identifier: MIT | |
| 6 | */ | |
| 7 | ||
| 8 | #include "log2f_data.h" | |
| 9 | ||
| 10 | const struct log2f_data __log2f_data = { | |
| 11 | .tab = { | |
| 12 | { 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2 }, | |
| 13 | { 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2 }, | |
| 14 | { 0x1.49539f0f010bp+0, -0x1.7418b0a1fb77bp-2 }, | |
| 15 | { 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2 }, | |
| 16 | { 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2 }, | |
| 17 | { 0x1.25e227b0b8eap+0, -0x1.97c1d1b3b7afp-3 }, | |
| 18 | { 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3 }, | |
| 19 | { 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4 }, | |
| 20 | { 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5 }, | |
| 21 | { 0x1p+0, 0x0p+0 }, | |
| 22 | { 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4 }, | |
| 23 | { 0x1.ca4b31f026aap-1, 0x1.476a9543891bap-3 }, | |
| 24 | { 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3 }, | |
| 25 | { 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2 }, | |
| 26 | { 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2 }, | |
| 27 | { 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2 }, | |
| 28 | }, | |
| 29 | .poly = { | |
| 30 | -0x1.712b6f70a7e4dp-2, 0x1.ecabf496832ep-2, -0x1.715479ffae3dep-1, | |
| 31 | 0x1.715475f35c8b8p0, | |
| 32 | } | |
| 33 | }; |
lib/libc/musl/src/math/log2f_data.h deleted-19| ... | ... | @@ -1,19 +0,0 @@ |
| 1 | /* | |
| 2 | * Copyright (c) 2017-2018, Arm Limited. | |
| 3 | * SPDX-License-Identifier: MIT | |
| 4 | */ | |
| 5 | #ifndef _LOG2F_DATA_H | |
| 6 | #define _LOG2F_DATA_H | |
| 7 | ||
| 8 | #include <features.h> | |
| 9 | ||
| 10 | #define LOG2F_TABLE_BITS 4 | |
| 11 | #define LOG2F_POLY_ORDER 4 | |
| 12 | extern hidden const struct log2f_data { | |
| 13 | 	struct { | |
| 14 | 		double invc, logc; | |
| 15 | 	} tab[1 << LOG2F_TABLE_BITS]; | |
| 16 | 	double poly[LOG2F_POLY_ORDER]; | |
| 17 | } __log2f_data; | |
| 18 | ||
| 19 | #endif |
lib/libc/musl/src/math/log_data.c deleted-328| ... | ... | @@ -1,328 +0,0 @@ |
| 1 | /* | |
| 2 | * Data for log. | |
| 3 | * | |
| 4 | * Copyright (c) 2018, Arm Limited. | |
| 5 | * SPDX-License-Identifier: MIT | |
| 6 | */ | |
| 7 | ||
| 8 | #include "log_data.h" | |
| 9 | ||
| 10 | #define N (1 << LOG_TABLE_BITS) | |
| 11 | ||
| 12 | const struct log_data __log_data = { | |
| 13 | .ln2hi = 0x1.62e42fefa3800p-1, | |
| 14 | .ln2lo = 0x1.ef35793c76730p-45, | |
| 15 | .poly1 = { | |
| 16 | // relative error: 0x1.c04d76cp-63 | |
| 17 | // in -0x1p-4 0x1.09p-4 (|log(1+x)| > 0x1p-4 outside the interval) | |
| 18 | -0x1p-1, | |
| 19 | 0x1.5555555555577p-2, | |
| 20 | -0x1.ffffffffffdcbp-3, | |
| 21 | 0x1.999999995dd0cp-3, | |
| 22 | -0x1.55555556745a7p-3, | |
| 23 | 0x1.24924a344de3p-3, | |
| 24 | -0x1.fffffa4423d65p-4, | |
| 25 | 0x1.c7184282ad6cap-4, | |
| 26 | -0x1.999eb43b068ffp-4, | |
| 27 | 0x1.78182f7afd085p-4, | |
| 28 | -0x1.5521375d145cdp-4, | |
| 29 | }, | |
| 30 | .poly = { | |
| 31 | // relative error: 0x1.926199e8p-56 | |
| 32 | // abs error: 0x1.882ff33p-65 | |
| 33 | // in -0x1.fp-9 0x1.fp-9 | |
| 34 | -0x1.0000000000001p-1, | |
| 35 | 0x1.555555551305bp-2, | |
| 36 | -0x1.fffffffeb459p-3, | |
| 37 | 0x1.999b324f10111p-3, | |
| 38 | -0x1.55575e506c89fp-3, | |
| 39 | }, | |
| 40 | /* Algorithm: | |
| 41 | ||
| 42 | 	x = 2^k z | |
| 43 | 	log(x) = k ln2 + log(c) + log(z/c) | |
| 44 | 	log(z/c) = poly(z/c - 1) | |
| 45 | ||
| 46 | where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls | |
| 47 | into the ith one, then table entries are computed as | |
| 48 | ||
| 49 | 	tab[i].invc = 1/c | |
| 50 | 	tab[i].logc = (double)log(c) | |
| 51 | 	tab2[i].chi = (double)c | |
| 52 | 	tab2[i].clo = (double)(c - (double)c) | |
| 53 | ||
| 54 | where c is near the center of the subinterval and is chosen by trying +-2^29 | |
| 55 | floating point invc candidates around 1/center and selecting one for which | |
| 56 | ||
| 57 | 	1) the rounding error in 0x1.8p9 + logc is 0, | |
| 58 | 	2) the rounding error in z - chi - clo is < 0x1p-66 and | |
| 59 | 	3) the rounding error in (double)log(c) is minimized (< 0x1p-66). | |
| 60 | ||
| 61 | Note: 1) ensures that k*ln2hi + logc can be computed without rounding error, | |
| 62 | 2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to | |
| 63 | a single rounding error when there is no fast fma for z*invc - 1, 3) ensures | |
| 64 | that logc + poly(z/c - 1) has small error, however near x == 1 when | |
| 65 | |log(x)| < 0x1p-4, this is not enough so that is special cased. */ | |
| 66 | .tab = { | |
| 67 | {0x1.734f0c3e0de9fp+0, -0x1.7cc7f79e69000p-2}, | |
| 68 | {0x1.713786a2ce91fp+0, -0x1.76feec20d0000p-2}, | |
| 69 | {0x1.6f26008fab5a0p+0, -0x1.713e31351e000p-2}, | |
| 70 | {0x1.6d1a61f138c7dp+0, -0x1.6b85b38287800p-2}, | |
| 71 | {0x1.6b1490bc5b4d1p+0, -0x1.65d5590807800p-2}, | |
| 72 | {0x1.69147332f0cbap+0, -0x1.602d076180000p-2}, | |
| 73 | {0x1.6719f18224223p+0, -0x1.5a8ca86909000p-2}, | |
| 74 | {0x1.6524f99a51ed9p+0, -0x1.54f4356035000p-2}, | |
| 75 | {0x1.63356aa8f24c4p+0, -0x1.4f637c36b4000p-2}, | |
| 76 | {0x1.614b36b9ddc14p+0, -0x1.49da7fda85000p-2}, | |
| 77 | {0x1.5f66452c65c4cp+0, -0x1.445923989a800p-2}, | |
| 78 | {0x1.5d867b5912c4fp+0, -0x1.3edf439b0b800p-2}, | |
| 79 | {0x1.5babccb5b90dep+0, -0x1.396ce448f7000p-2}, | |
| 80 | {0x1.59d61f2d91a78p+0, -0x1.3401e17bda000p-2}, | |
| 81 | {0x1.5805612465687p+0, -0x1.2e9e2ef468000p-2}, | |
| 82 | {0x1.56397cee76bd3p+0, -0x1.2941b3830e000p-2}, | |
| 83 | {0x1.54725e2a77f93p+0, -0x1.23ec58cda8800p-2}, | |
| 84 | {0x1.52aff42064583p+0, -0x1.1e9e129279000p-2}, | |
| 85 | {0x1.50f22dbb2bddfp+0, -0x1.1956d2b48f800p-2}, | |
| 86 | {0x1.4f38f4734ded7p+0, -0x1.141679ab9f800p-2}, | |
| 87 | {0x1.4d843cfde2840p+0, -0x1.0edd094ef9800p-2}, | |
| 88 | {0x1.4bd3ec078a3c8p+0, -0x1.09aa518db1000p-2}, | |
| 89 | {0x1.4a27fc3e0258ap+0, -0x1.047e65263b800p-2}, | |
| 90 | {0x1.4880524d48434p+0, -0x1.feb224586f000p-3}, | |
| 91 | {0x1.46dce1b192d0bp+0, -0x1.f474a7517b000p-3}, | |
| 92 | {0x1.453d9d3391854p+0, -0x1.ea4443d103000p-3}, | |
| 93 | {0x1.43a2744b4845ap+0, -0x1.e020d44e9b000p-3}, | |
| 94 | {0x1.420b54115f8fbp+0, -0x1.d60a22977f000p-3}, | |
| 95 | {0x1.40782da3ef4b1p+0, -0x1.cc00104959000p-3}, | |
| 96 | {0x1.3ee8f5d57fe8fp+0, -0x1.c202956891000p-3}, | |
| 97 | {0x1.3d5d9a00b4ce9p+0, -0x1.b81178d811000p-3}, | |
| 98 | {0x1.3bd60c010c12bp+0, -0x1.ae2c9ccd3d000p-3}, | |
| 99 | {0x1.3a5242b75dab8p+0, -0x1.a45402e129000p-3}, | |
| 100 | {0x1.38d22cd9fd002p+0, -0x1.9a877681df000p-3}, | |
| 101 | {0x1.3755bc5847a1cp+0, -0x1.90c6d69483000p-3}, | |
| 102 | {0x1.35dce49ad36e2p+0, -0x1.87120a645c000p-3}, | |
| 103 | {0x1.34679984dd440p+0, -0x1.7d68fb4143000p-3}, | |
| 104 | {0x1.32f5cceffcb24p+0, -0x1.73cb83c627000p-3}, | |
| 105 | {0x1.3187775a10d49p+0, -0x1.6a39a9b376000p-3}, | |
| 106 | {0x1.301c8373e3990p+0, -0x1.60b3154b7a000p-3}, | |
| 107 | {0x1.2eb4ebb95f841p+0, -0x1.5737d76243000p-3}, | |
| 108 | {0x1.2d50a0219a9d1p+0, -0x1.4dc7b8fc23000p-3}, | |
| 109 | {0x1.2bef9a8b7fd2ap+0, -0x1.4462c51d20000p-3}, | |
| 110 | {0x1.2a91c7a0c1babp+0, -0x1.3b08abc830000p-3}, | |
| 111 | {0x1.293726014b530p+0, -0x1.31b996b490000p-3}, | |
| 112 | {0x1.27dfa5757a1f5p+0, -0x1.2875490a44000p-3}, | |
| 113 | {0x1.268b39b1d3bbfp+0, -0x1.1f3b9f879a000p-3}, | |
| 114 | {0x1.2539d838ff5bdp+0, -0x1.160c8252ca000p-3}, | |
| 115 | {0x1.23eb7aac9083bp+0, -0x1.0ce7f57f72000p-3}, | |
| 116 | {0x1.22a012ba940b6p+0, -0x1.03cdc49fea000p-3}, | |
| 117 | {0x1.2157996cc4132p+0, -0x1.f57bdbc4b8000p-4}, | |
| 118 | {0x1.201201dd2fc9bp+0, -0x1.e370896404000p-4}, | |
| 119 | {0x1.1ecf4494d480bp+0, -0x1.d17983ef94000p-4}, | |
| 120 | {0x1.1d8f5528f6569p+0, -0x1.bf9674ed8a000p-4}, | |
| 121 | {0x1.1c52311577e7cp+0, -0x1.adc79202f6000p-4}, | |
| 122 | {0x1.1b17c74cb26e9p+0, -0x1.9c0c3e7288000p-4}, | |
| 123 | {0x1.19e010c2c1ab6p+0, -0x1.8a646b372c000p-4}, | |
| 124 | {0x1.18ab07bb670bdp+0, -0x1.78d01b3ac0000p-4}, | |
| 125 | {0x1.1778a25efbcb6p+0, -0x1.674f145380000p-4}, | |
| 126 | {0x1.1648d354c31dap+0, -0x1.55e0e6d878000p-4}, | |
| 127 | {0x1.151b990275fddp+0, -0x1.4485cdea1e000p-4}, | |
| 128 | {0x1.13f0ea432d24cp+0, -0x1.333d94d6aa000p-4}, | |
| 129 | {0x1.12c8b7210f9dap+0, -0x1.22079f8c56000p-4}, | |
| 130 | {0x1.11a3028ecb531p+0, -0x1.10e4698622000p-4}, | |
| 131 | {0x1.107fbda8434afp+0, -0x1.ffa6c6ad20000p-5}, | |
| 132 | {0x1.0f5ee0f4e6bb3p+0, -0x1.dda8d4a774000p-5}, | |
| 133 | {0x1.0e4065d2a9fcep+0, -0x1.bbcece4850000p-5}, | |
| 134 | {0x1.0d244632ca521p+0, -0x1.9a1894012c000p-5}, | |
| 135 | {0x1.0c0a77ce2981ap+0, -0x1.788583302c000p-5}, | |
| 136 | {0x1.0af2f83c636d1p+0, -0x1.5715e67d68000p-5}, | |
| 137 | {0x1.09ddb98a01339p+0, -0x1.35c8a49658000p-5}, | |
| 138 | {0x1.08cabaf52e7dfp+0, -0x1.149e364154000p-5}, | |
| 139 | {0x1.07b9f2f4e28fbp+0, -0x1.e72c082eb8000p-6}, | |
| 140 | {0x1.06ab58c358f19p+0, -0x1.a55f152528000p-6}, | |
| 141 | {0x1.059eea5ecf92cp+0, -0x1.63d62cf818000p-6}, | |
| 142 | {0x1.04949cdd12c90p+0, -0x1.228fb8caa0000p-6}, | |
| 143 | {0x1.038c6c6f0ada9p+0, -0x1.c317b20f90000p-7}, | |
| 144 | {0x1.02865137932a9p+0, -0x1.419355daa0000p-7}, | |
| 145 | {0x1.0182427ea7348p+0, -0x1.81203c2ec0000p-8}, | |
| 146 | {0x1.008040614b195p+0, -0x1.0040979240000p-9}, | |
| 147 | {0x1.fe01ff726fa1ap-1, 0x1.feff384900000p-9}, | |
| 148 | {0x1.fa11cc261ea74p-1, 0x1.7dc41353d0000p-7}, | |
| 149 | {0x1.f6310b081992ep-1, 0x1.3cea3c4c28000p-6}, | |
| 150 | {0x1.f25f63ceeadcdp-1, 0x1.b9fc114890000p-6}, | |
| 151 | {0x1.ee9c8039113e7p-1, 0x1.1b0d8ce110000p-5}, | |
| 152 | {0x1.eae8078cbb1abp-1, 0x1.58a5bd001c000p-5}, | |
| 153 | {0x1.e741aa29d0c9bp-1, 0x1.95c8340d88000p-5}, | |
| 154 | {0x1.e3a91830a99b5p-1, 0x1.d276aef578000p-5}, | |
| 155 | {0x1.e01e009609a56p-1, 0x1.07598e598c000p-4}, | |
| 156 | {0x1.dca01e577bb98p-1, 0x1.253f5e30d2000p-4}, | |
| 157 | {0x1.d92f20b7c9103p-1, 0x1.42edd8b380000p-4}, | |
| 158 | {0x1.d5cac66fb5ccep-1, 0x1.606598757c000p-4}, | |
| 159 | {0x1.d272caa5ede9dp-1, 0x1.7da76356a0000p-4}, | |
| 160 | {0x1.cf26e3e6b2ccdp-1, 0x1.9ab434e1c6000p-4}, | |
| 161 | {0x1.cbe6da2a77902p-1, 0x1.b78c7bb0d6000p-4}, | |
| 162 | {0x1.c8b266d37086dp-1, 0x1.d431332e72000p-4}, | |
| 163 | {0x1.c5894bd5d5804p-1, 0x1.f0a3171de6000p-4}, | |
| 164 | {0x1.c26b533bb9f8cp-1, 0x1.067152b914000p-3}, | |
| 165 | {0x1.bf583eeece73fp-1, 0x1.147858292b000p-3}, | |
| 166 | {0x1.bc4fd75db96c1p-1, 0x1.2266ecdca3000p-3}, | |
| 167 | {0x1.b951e0c864a28p-1, 0x1.303d7a6c55000p-3}, | |
| 168 | {0x1.b65e2c5ef3e2cp-1, 0x1.3dfc33c331000p-3}, | |
| 169 | {0x1.b374867c9888bp-1, 0x1.4ba366b7a8000p-3}, | |
| 170 | {0x1.b094b211d304ap-1, 0x1.5933928d1f000p-3}, | |
| 171 | {0x1.adbe885f2ef7ep-1, 0x1.66acd2418f000p-3}, | |
| 172 | {0x1.aaf1d31603da2p-1, 0x1.740f8ec669000p-3}, | |
| 173 | {0x1.a82e63fd358a7p-1, 0x1.815c0f51af000p-3}, | |
| 174 | {0x1.a5740ef09738bp-1, 0x1.8e92954f68000p-3}, | |
| 175 | {0x1.a2c2a90ab4b27p-1, 0x1.9bb3602f84000p-3}, | |
| 176 | {0x1.a01a01393f2d1p-1, 0x1.a8bed1c2c0000p-3}, | |
| 177 | {0x1.9d79f24db3c1bp-1, 0x1.b5b515c01d000p-3}, | |
| 178 | {0x1.9ae2505c7b190p-1, 0x1.c2967ccbcc000p-3}, | |
| 179 | {0x1.9852ef297ce2fp-1, 0x1.cf635d5486000p-3}, | |
| 180 | {0x1.95cbaeea44b75p-1, 0x1.dc1bd3446c000p-3}, | |
| 181 | {0x1.934c69de74838p-1, 0x1.e8c01b8cfe000p-3}, | |
| 182 | {0x1.90d4f2f6752e6p-1, 0x1.f5509c0179000p-3}, | |
| 183 | {0x1.8e6528effd79dp-1, 0x1.00e6c121fb800p-2}, | |
| 184 | {0x1.8bfce9fcc007cp-1, 0x1.071b80e93d000p-2}, | |
| 185 | {0x1.899c0dabec30ep-1, 0x1.0d46b9e867000p-2}, | |
| 186 | {0x1.87427aa2317fbp-1, 0x1.13687334bd000p-2}, | |
| 187 | {0x1.84f00acb39a08p-1, 0x1.1980d67234800p-2}, | |
| 188 | {0x1.82a49e8653e55p-1, 0x1.1f8ffe0cc8000p-2}, | |
| 189 | {0x1.8060195f40260p-1, 0x1.2595fd7636800p-2}, | |
| 190 | {0x1.7e22563e0a329p-1, 0x1.2b9300914a800p-2}, | |
| 191 | {0x1.7beb377dcb5adp-1, 0x1.3187210436000p-2}, | |
| 192 | {0x1.79baa679725c2p-1, 0x1.377266dec1800p-2}, | |
| 193 | {0x1.77907f2170657p-1, 0x1.3d54ffbaf3000p-2}, | |
| 194 | {0x1.756cadbd6130cp-1, 0x1.432eee32fe000p-2}, | |
| 195 | }, | |
| 196 | #if !__FP_FAST_FMA | |
| 197 | .tab2 = { | |
| 198 | {0x1.61000014fb66bp-1, 0x1.e026c91425b3cp-56}, | |
| 199 | {0x1.63000034db495p-1, 0x1.dbfea48005d41p-55}, | |
| 200 | {0x1.650000d94d478p-1, 0x1.e7fa786d6a5b7p-55}, | |
| 201 | {0x1.67000074e6fadp-1, 0x1.1fcea6b54254cp-57}, | |
| 202 | {0x1.68ffffedf0faep-1, -0x1.c7e274c590efdp-56}, | |
| 203 | {0x1.6b0000763c5bcp-1, -0x1.ac16848dcda01p-55}, | |
| 204 | {0x1.6d0001e5cc1f6p-1, 0x1.33f1c9d499311p-55}, | |
| 205 | {0x1.6efffeb05f63ep-1, -0x1.e80041ae22d53p-56}, | |
| 206 | {0x1.710000e86978p-1, 0x1.bff6671097952p-56}, | |
| 207 | {0x1.72ffffc67e912p-1, 0x1.c00e226bd8724p-55}, | |
| 208 | {0x1.74fffdf81116ap-1, -0x1.e02916ef101d2p-57}, | |
| 209 | {0x1.770000f679c9p-1, -0x1.7fc71cd549c74p-57}, | |
| 210 | {0x1.78ffffa7ec835p-1, 0x1.1bec19ef50483p-55}, | |
| 211 | {0x1.7affffe20c2e6p-1, -0x1.07e1729cc6465p-56}, | |
| 212 | {0x1.7cfffed3fc9p-1, -0x1.08072087b8b1cp-55}, | |
| 213 | {0x1.7efffe9261a76p-1, 0x1.dc0286d9df9aep-55}, | |
| 214 | {0x1.81000049ca3e8p-1, 0x1.97fd251e54c33p-55}, | |
| 215 | {0x1.8300017932c8fp-1, -0x1.afee9b630f381p-55}, | |
| 216 | {0x1.850000633739cp-1, 0x1.9bfbf6b6535bcp-55}, | |
| 217 | {0x1.87000204289c6p-1, -0x1.bbf65f3117b75p-55}, | |
| 218 | {0x1.88fffebf57904p-1, -0x1.9006ea23dcb57p-55}, | |
| 219 | {0x1.8b00022bc04dfp-1, -0x1.d00df38e04b0ap-56}, | |
| 220 | {0x1.8cfffe50c1b8ap-1, -0x1.8007146ff9f05p-55}, | |
| 221 | {0x1.8effffc918e43p-1, 0x1.3817bd07a7038p-55}, | |
| 222 | {0x1.910001efa5fc7p-1, 0x1.93e9176dfb403p-55}, | |
| 223 | {0x1.9300013467bb9p-1, 0x1.f804e4b980276p-56}, | |
| 224 | {0x1.94fffe6ee076fp-1, -0x1.f7ef0d9ff622ep-55}, | |
| 225 | {0x1.96fffde3c12d1p-1, -0x1.082aa962638bap-56}, | |
| 226 | {0x1.98ffff4458a0dp-1, -0x1.7801b9164a8efp-55}, | |
| 227 | {0x1.9afffdd982e3ep-1, -0x1.740e08a5a9337p-55}, | |
| 228 | {0x1.9cfffed49fb66p-1, 0x1.fce08c19bep-60}, | |
| 229 | {0x1.9f00020f19c51p-1, -0x1.a3faa27885b0ap-55}, | |
| 230 | {0x1.a10001145b006p-1, 0x1.4ff489958da56p-56}, | |
| 231 | {0x1.a300007bbf6fap-1, 0x1.cbeab8a2b6d18p-55}, | |
| 232 | {0x1.a500010971d79p-1, 0x1.8fecadd78793p-55}, | |
| 233 | {0x1.a70001df52e48p-1, -0x1.f41763dd8abdbp-55}, | |
| 234 | {0x1.a90001c593352p-1, -0x1.ebf0284c27612p-55}, | |
| 235 | {0x1.ab0002a4f3e4bp-1, -0x1.9fd043cff3f5fp-57}, | |
| 236 | {0x1.acfffd7ae1ed1p-1, -0x1.23ee7129070b4p-55}, | |
| 237 | {0x1.aefffee510478p-1, 0x1.a063ee00edea3p-57}, | |
| 238 | {0x1.b0fffdb650d5bp-1, 0x1.a06c8381f0ab9p-58}, | |
| 239 | {0x1.b2ffffeaaca57p-1, -0x1.9011e74233c1dp-56}, | |
| 240 | {0x1.b4fffd995badcp-1, -0x1.9ff1068862a9fp-56}, | |
| 241 | {0x1.b7000249e659cp-1, 0x1.aff45d0864f3ep-55}, | |
| 242 | {0x1.b8ffff987164p-1, 0x1.cfe7796c2c3f9p-56}, | |
| 243 | {0x1.bafffd204cb4fp-1, -0x1.3ff27eef22bc4p-57}, | |
| 244 | {0x1.bcfffd2415c45p-1, -0x1.cffb7ee3bea21p-57}, | |
| 245 | {0x1.beffff86309dfp-1, -0x1.14103972e0b5cp-55}, | |
| 246 | {0x1.c0fffe1b57653p-1, 0x1.bc16494b76a19p-55}, | |
| 247 | {0x1.c2ffff1fa57e3p-1, -0x1.4feef8d30c6edp-57}, | |
| 248 | {0x1.c4fffdcbfe424p-1, -0x1.43f68bcec4775p-55}, | |
| 249 | {0x1.c6fffed54b9f7p-1, 0x1.47ea3f053e0ecp-55}, | |
| 250 | {0x1.c8fffeb998fd5p-1, 0x1.383068df992f1p-56}, | |
| 251 | {0x1.cb0002125219ap-1, -0x1.8fd8e64180e04p-57}, | |
| 252 | {0x1.ccfffdd94469cp-1, 0x1.e7ebe1cc7ea72p-55}, | |
| 253 | {0x1.cefffeafdc476p-1, 0x1.ebe39ad9f88fep-55}, | |
| 254 | {0x1.d1000169af82bp-1, 0x1.57d91a8b95a71p-56}, | |
| 255 | {0x1.d30000d0ff71dp-1, 0x1.9c1906970c7dap-55}, | |
| 256 | {0x1.d4fffea790fc4p-1, -0x1.80e37c558fe0cp-58}, | |
| 257 | {0x1.d70002edc87e5p-1, -0x1.f80d64dc10f44p-56}, | |
| 258 | {0x1.d900021dc82aap-1, -0x1.47c8f94fd5c5cp-56}, | |
| 259 | {0x1.dafffd86b0283p-1, 0x1.c7f1dc521617ep-55}, | |
| 260 | {0x1.dd000296c4739p-1, 0x1.8019eb2ffb153p-55}, | |
| 261 | {0x1.defffe54490f5p-1, 0x1.e00d2c652cc89p-57}, | |
| 262 | {0x1.e0fffcdabf694p-1, -0x1.f8340202d69d2p-56}, | |
| 263 | {0x1.e2fffdb52c8ddp-1, 0x1.b00c1ca1b0864p-56}, | |
| 264 | {0x1.e4ffff24216efp-1, 0x1.2ffa8b094ab51p-56}, | |
| 265 | {0x1.e6fffe88a5e11p-1, -0x1.7f673b1efbe59p-58}, | |
| 266 | {0x1.e9000119eff0dp-1, -0x1.4808d5e0bc801p-55}, | |
| 267 | {0x1.eafffdfa51744p-1, 0x1.80006d54320b5p-56}, | |
| 268 | {0x1.ed0001a127fa1p-1, -0x1.002f860565c92p-58}, | |
| 269 | {0x1.ef00007babcc4p-1, -0x1.540445d35e611p-55}, | |
| 270 | {0x1.f0ffff57a8d02p-1, -0x1.ffb3139ef9105p-59}, | |
| 271 | {0x1.f30001ee58ac7p-1, 0x1.a81acf2731155p-55}, | |
| 272 | {0x1.f4ffff5823494p-1, 0x1.a3f41d4d7c743p-55}, | |
| 273 | {0x1.f6ffffca94c6bp-1, -0x1.202f41c987875p-57}, | |
| 274 | {0x1.f8fffe1f9c441p-1, 0x1.77dd1f477e74bp-56}, | |
| 275 | {0x1.fafffd2e0e37ep-1, -0x1.f01199a7ca331p-57}, | |
| 276 | {0x1.fd0001c77e49ep-1, 0x1.181ee4bceacb1p-56}, | |
| 277 | {0x1.feffff7e0c331p-1, -0x1.e05370170875ap-57}, | |
| 278 | {0x1.00ffff465606ep+0, -0x1.a7ead491c0adap-55}, | |
| 279 | {0x1.02ffff3867a58p+0, -0x1.77f69c3fcb2ep-54}, | |
| 280 | {0x1.04ffffdfc0d17p+0, 0x1.7bffe34cb945bp-54}, | |
| 281 | {0x1.0700003cd4d82p+0, 0x1.20083c0e456cbp-55}, | |
| 282 | {0x1.08ffff9f2cbe8p+0, -0x1.dffdfbe37751ap-57}, | |
| 283 | {0x1.0b000010cda65p+0, -0x1.13f7faee626ebp-54}, | |
| 284 | {0x1.0d00001a4d338p+0, 0x1.07dfa79489ff7p-55}, | |
| 285 | {0x1.0effffadafdfdp+0, -0x1.7040570d66bcp-56}, | |
| 286 | {0x1.110000bbafd96p+0, 0x1.e80d4846d0b62p-55}, | |
| 287 | {0x1.12ffffae5f45dp+0, 0x1.dbffa64fd36efp-54}, | |
| 288 | {0x1.150000dd59ad9p+0, 0x1.a0077701250aep-54}, | |
| 289 | {0x1.170000f21559ap+0, 0x1.dfdf9e2e3deeep-55}, | |
| 290 | {0x1.18ffffc275426p+0, 0x1.10030dc3b7273p-54}, | |
| 291 | {0x1.1b000123d3c59p+0, 0x1.97f7980030188p-54}, | |
| 292 | {0x1.1cffff8299eb7p+0, -0x1.5f932ab9f8c67p-57}, | |
| 293 | {0x1.1effff48ad4p+0, 0x1.37fbf9da75bebp-54}, | |
| 294 | {0x1.210000c8b86a4p+0, 0x1.f806b91fd5b22p-54}, | |
| 295 | {0x1.2300003854303p+0, 0x1.3ffc2eb9fbf33p-54}, | |
| 296 | {0x1.24fffffbcf684p+0, 0x1.601e77e2e2e72p-56}, | |
| 297 | {0x1.26ffff52921d9p+0, 0x1.ffcbb767f0c61p-56}, | |
| 298 | {0x1.2900014933a3cp+0, -0x1.202ca3c02412bp-56}, | |
| 299 | {0x1.2b00014556313p+0, -0x1.2808233f21f02p-54}, | |
| 300 | {0x1.2cfffebfe523bp+0, -0x1.8ff7e384fdcf2p-55}, | |
| 301 | {0x1.2f0000bb8ad96p+0, -0x1.5ff51503041c5p-55}, | |
| 302 | {0x1.30ffffb7ae2afp+0, -0x1.10071885e289dp-55}, | |
| 303 | {0x1.32ffffeac5f7fp+0, -0x1.1ff5d3fb7b715p-54}, | |
| 304 | {0x1.350000ca66756p+0, 0x1.57f82228b82bdp-54}, | |
| 305 | {0x1.3700011fbf721p+0, 0x1.000bac40dd5ccp-55}, | |
| 306 | {0x1.38ffff9592fb9p+0, -0x1.43f9d2db2a751p-54}, | |
| 307 | {0x1.3b00004ddd242p+0, 0x1.57f6b707638e1p-55}, | |
| 308 | {0x1.3cffff5b2c957p+0, 0x1.a023a10bf1231p-56}, | |
| 309 | {0x1.3efffeab0b418p+0, 0x1.87f6d66b152bp-54}, | |
| 310 | {0x1.410001532aff4p+0, 0x1.7f8375f198524p-57}, | |
| 311 | {0x1.4300017478b29p+0, 0x1.301e672dc5143p-55}, | |
| 312 | {0x1.44fffe795b463p+0, 0x1.9ff69b8b2895ap-55}, | |
| 313 | {0x1.46fffe80475ep+0, -0x1.5c0b19bc2f254p-54}, | |
| 314 | {0x1.48fffef6fc1e7p+0, 0x1.b4009f23a2a72p-54}, | |
| 315 | {0x1.4afffe5bea704p+0, -0x1.4ffb7bf0d7d45p-54}, | |
| 316 | {0x1.4d000171027dep+0, -0x1.9c06471dc6a3dp-54}, | |
| 317 | {0x1.4f0000ff03ee2p+0, 0x1.77f890b85531cp-54}, | |
| 318 | {0x1.5100012dc4bd1p+0, 0x1.004657166a436p-57}, | |
| 319 | {0x1.530001605277ap+0, -0x1.6bfcece233209p-54}, | |
| 320 | {0x1.54fffecdb704cp+0, -0x1.902720505a1d7p-55}, | |
| 321 | {0x1.56fffef5f54a9p+0, 0x1.bbfe60ec96412p-54}, | |
| 322 | {0x1.5900017e61012p+0, 0x1.87ec581afef9p-55}, | |
| 323 | {0x1.5b00003c93e92p+0, -0x1.f41080abf0ccp-54}, | |
| 324 | {0x1.5d0001d4919bcp+0, -0x1.8812afb254729p-54}, | |
| 325 | {0x1.5efffe7b87a89p+0, -0x1.47eb780ed6904p-54}, | |
| 326 | }, | |
| 327 | #endif | |
| 328 | }; |
lib/libc/musl/src/math/log_data.h deleted-28| ... | ... | @@ -1,28 +0,0 @@ |
| 1 | /* | |
| 2 | * Copyright (c) 2018, Arm Limited. | |
| 3 | * SPDX-License-Identifier: MIT | |
| 4 | */ | |
| 5 | #ifndef _LOG_DATA_H | |
| 6 | #define _LOG_DATA_H | |
| 7 | ||
| 8 | #include <features.h> | |
| 9 | ||
| 10 | #define LOG_TABLE_BITS 7 | |
| 11 | #define LOG_POLY_ORDER 6 | |
| 12 | #define LOG_POLY1_ORDER 12 | |
| 13 | extern hidden const struct log_data { | |
| 14 | 	double ln2hi; | |
| 15 | 	double ln2lo; | |
| 16 | 	double poly[LOG_POLY_ORDER - 1]; /* First coefficient is 1. */ | |
| 17 | 	double poly1[LOG_POLY1_ORDER - 1]; | |
| 18 | 	struct { | |
| 19 | 		double invc, logc; | |
| 20 | 	} tab[1 << LOG_TABLE_BITS]; | |
| 21 | #if !__FP_FAST_FMA | |
| 22 | 	struct { | |
| 23 | 		double chi, clo; | |
| 24 | 	} tab2[1 << LOG_TABLE_BITS]; | |
| 25 | #endif | |
| 26 | } __log_data; | |
| 27 | ||
| 28 | #endif |
lib/libc/musl/src/math/logf_data.c deleted-33| ... | ... | @@ -1,33 +0,0 @@ |
| 1 | /* | |
| 2 | * Data definition for logf. | |
| 3 | * | |
| 4 | * Copyright (c) 2017-2018, Arm Limited. | |
| 5 | * SPDX-License-Identifier: MIT | |
| 6 | */ | |
| 7 | ||
| 8 | #include "logf_data.h" | |
| 9 | ||
| 10 | const struct logf_data __logf_data = { | |
| 11 | .tab = { | |
| 12 | { 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2 }, | |
| 13 | { 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2 }, | |
| 14 | { 0x1.49539f0f010bp+0, -0x1.01eae7f513a67p-2 }, | |
| 15 | { 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3 }, | |
| 16 | { 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3 }, | |
| 17 | { 0x1.25e227b0b8eap+0, -0x1.1aa2bc79c81p-3 }, | |
| 18 | { 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4 }, | |
| 19 | { 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4 }, | |
| 20 | { 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5 }, | |
| 21 | { 0x1p+0, 0x0p+0 }, | |
| 22 | { 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5 }, | |
| 23 | { 0x1.ca4b31f026aap-1, 0x1.c5e53aa362eb4p-4 }, | |
| 24 | { 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3 }, | |
| 25 | { 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 }, | |
| 26 | { 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2 }, | |
| 27 | { 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2 }, | |
| 28 | }, | |
| 29 | .ln2 = 0x1.62e42fefa39efp-1, | |
| 30 | .poly = { | |
| 31 | -0x1.00ea348b88334p-2, 0x1.5575b0be00b6ap-2, -0x1.ffffef20a4123p-2, | |
| 32 | } | |
| 33 | }; |
lib/libc/musl/src/math/logf_data.h deleted-20| ... | ... | @@ -1,20 +0,0 @@ |
| 1 | /* | |
| 2 | * Copyright (c) 2017-2018, Arm Limited. | |
| 3 | * SPDX-License-Identifier: MIT | |
| 4 | */ | |
| 5 | #ifndef _LOGF_DATA_H | |
| 6 | #define _LOGF_DATA_H | |
| 7 | ||
| 8 | #include <features.h> | |
| 9 | ||
| 10 | #define LOGF_TABLE_BITS 4 | |
| 11 | #define LOGF_POLY_ORDER 4 | |
| 12 | extern hidden const struct logf_data { | |
| 13 | 	struct { | |
| 14 | 		double invc, logc; | |
| 15 | 	} tab[1 << LOGF_TABLE_BITS]; | |
| 16 | 	double ln2; | |
| 17 | 	double poly[LOGF_POLY_ORDER - 1]; /* First order coefficient is 1. */ | |
| 18 | } __logf_data; | |
| 19 | ||
| 20 | #endif |
src/libs/musl.zig-10| ... | ... | @@ -936,18 +936,12 @@ const src_files = [_][]const u8{ |
| 936 | 936 | "musl/src/math/i386/llrint.c", |
| 937 | 937 | "musl/src/math/i386/llrintf.c", |
| 938 | 938 | "musl/src/math/i386/llrintl.c", |
| 939 | "musl/src/math/i386/log10f.s", | |
| 940 | 939 | "musl/src/math/i386/log10l.s", |
| 941 | "musl/src/math/i386/log10.s", | |
| 942 | 940 | "musl/src/math/i386/log1pf.s", |
| 943 | 941 | "musl/src/math/i386/log1pl.s", |
| 944 | 942 | "musl/src/math/i386/log1p.s", |
| 945 | "musl/src/math/i386/log2f.s", | |
| 946 | 943 | "musl/src/math/i386/log2l.s", |
| 947 | "musl/src/math/i386/log2.s", | |
| 948 | "musl/src/math/i386/logf.s", | |
| 949 | 944 | "musl/src/math/i386/logl.s", |
| 950 | "musl/src/math/i386/log.s", | |
| 951 | 945 | "musl/src/math/i386/lrint.c", |
| 952 | 946 | "musl/src/math/i386/lrintf.c", |
| 953 | 947 | "musl/src/math/i386/lrintl.c", |
| ... | ... | @@ -997,14 +991,10 @@ const src_files = [_][]const u8{ |
| 997 | 991 | "musl/src/math/log1p.c", |
| 998 | 992 | "musl/src/math/log1pf.c", |
| 999 | 993 | "musl/src/math/log1pl.c", |
| 1000 | "musl/src/math/log2_data.c", | |
| 1001 | "musl/src/math/log2f_data.c", | |
| 1002 | 994 | "musl/src/math/log2l.c", |
| 1003 | 995 | "musl/src/math/logb.c", |
| 1004 | 996 | "musl/src/math/logbf.c", |
| 1005 | 997 | "musl/src/math/logbl.c", |
| 1006 | "musl/src/math/log_data.c", | |
| 1007 | "musl/src/math/logf_data.c", | |
| 1008 | 998 | "musl/src/math/logl.c", |
| 1009 | 999 | "musl/src/math/lrint.c", |
| 1010 | 1000 | "musl/src/math/lrintf.c", |
src/libs/wasi_libc.zig-4| ... | ... | @@ -773,14 +773,10 @@ const libc_top_half_src_files = [_][]const u8{ |
| 773 | 773 | "musl/src/math/log1p.c", |
| 774 | 774 | "musl/src/math/log1pf.c", |
| 775 | 775 | "musl/src/math/log1pl.c", |
| 776 | "musl/src/math/log2_data.c", | |
| 777 | "musl/src/math/log2f_data.c", | |
| 778 | 776 | "musl/src/math/log2l.c", |
| 779 | 777 | "musl/src/math/logb.c", |
| 780 | 778 | "musl/src/math/logbf.c", |
| 781 | 779 | "musl/src/math/logbl.c", |
| 782 | "musl/src/math/log_data.c", | |
| 783 | "musl/src/math/logf_data.c", | |
| 784 | 780 | "musl/src/math/logl.c", |
| 785 | 781 | "musl/src/math/lrint.c", |
| 786 | 782 | "musl/src/math/lrintf.c", |