/freebsd/contrib/arm-optimized-routines/math/tools/ |
H A D | v_log.sollya | 6 deg = 6; // poly degree 7 a = -0x1.fc1p-9; 8 b = 0x1.009p-8; 12 deg = deg-1; // because of /x 15 f = 0; 16 for i from 0 to 60 do { f = f + (-x)^i/(i+1); }; 20 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 25 for i from 1 to deg do { 27 poly = poly + x^i*coeff(p,0); 34 for i from 0 to deg do coeff(poly,i);
|
H A D | log.sollya | 6 deg = 12; // poly degree 7 // |log(1+x)| > 0x1p-4 outside the interval 8 a = -0x1p-4; 9 b = 0x1.09p-4; 13 deg = deg-1; // because of /x 16 f = 0; 17 for i from 0 to 60 do { f = f + (-x)^i/(i+1); }; 21 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 26 for i from 1 to deg do { 28 poly = poly + x^i*coeff(p,0); [all …]
|
H A D | v_log2f.sollya | 6 deg = 9; // poly degree 10 ln2 = evaluate(log(2),0); 15 deg = deg-1; // because of /x 18 f = 0; 19 for i from 0 to 60 do { f = f + (-x)^i/(i+1); }; 24 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 29 for i from 1 to deg do { 31 poly = poly + x^i*coeff(p,0); 38 for i from 0 to deg do coeff(poly,i);
|
H A D | v_log10.sollya | 6 deg = 6; // poly degree 7 a = -0x1.fc1p-9; 8 b = 0x1.009p-8; 12 deg = deg-1; // because of /x 15 f = 0; 16 for i from 0 to 60 do { f = f + (-x)^i/(i+1); }; 20 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 25 for i from 1 to deg do { 27 poly = poly + x^i*coeff(p,0); 31 ln10 = evaluate(log(10),0); [all …]
|
H A D | log2.sollya | 6 deg = 11; // poly degree 7 // |log2(1+x)| > 0x1p-4 outside the interval 8 a = -0x1.5b51p-5; 9 b = 0x1.6ab2p-5; 11 ln2 = evaluate(log(2),0); 12 invln2hi = double(1/ln2 + 0x1p21) - 0x1p21; // round away last 21 bits 17 deg = deg-1; // because of /x 20 f = 0; 21 for i from 0 to 60 do { f = f + (-x)^i/(i+1); }; 26 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); [all …]
|
H A D | log10.sollya | 6 deg = 6; // poly degree 7 // |log10(1+x)| > 0x1p-5 outside the interval 8 a = -0x1.p-5; 9 b = 0x1.p-5; 11 ln10 = evaluate(log(10),0); 12 invln10hi = double(1/ln10 + 0x1p21) - 0x1p21; // round away last 21 bits 17 deg = deg-1; // because of /x 20 f = 0; 21 for i from 0 to 60 do { f = f + (-x)^i/(i+1); }; 26 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); [all …]
|
H A D | v_log10f.sollya | 6 deg = 9; // poly degree 7 // |log10(1+x)| > 0x1p-4 outside the interval 14 ln10 = evaluate(log(10),0); 19 deg = deg-1; // because of /x 22 f = 0; 23 for i from 0 to 60 do { f = f + (-x)^i/(i+1); }; 28 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 33 for i from 1 to deg do { 35 poly = poly + x^i*coeff(p,0); 42 for i from 0 to deg do single(coeff(poly,i));
|
H A D | log10f.sollya | 8 deg = 4; // poly degree 15 deg = deg-1; // because of /x 18 f = 0; 19 for i from 0 to 60 do { f = f + (-x)^i/(i+1); }; 23 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 28 for i from 1 to deg do { 30 poly = poly + x^i*coeff(p,0); 37 for i from 0 to deg do double(coeff(poly,i));
|
H A D | tanpi.sollya | 6 // 0 for tanpi/f [0,0.25], 1 for tanpi/f [0.25,1] 7 method = 0; 11 if (method == 0) then { deg = 5; } 12 else if (method == 1) then { deg = 3; }; 14 if (method == 0) then { deg = 13; } 15 else if (method == 1) then { deg = 8; }; 18 a = 0x1.0p-126; 21 if (method == 0) then { 31 poly = fpminimax(f, deg, [|dtype ...|], [a*a;b*b]); 40 for i from 0 to deg do coeff(poly, i);
|
H A D | v_sin.sollya | 6 deg = 15; // polynomial degree 13 deg = deg-1; 22 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10); 27 for i from 1 to deg/2 do { 29 poly = poly + x^(2*i)*coeff(p,0); 36 for i from 0 to deg do coeff(poly,i);
|
H A D | sin.sollya | 6 deg = 7; // polynomial degree 13 deg = deg-1; 22 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10); 27 for i from 1 to deg/2 do { 29 poly = poly + x^(2*i)*coeff(p,0); 37 for i from 0 to deg do coeff(poly,i);
|
H A D | exp2.sollya | 7 deg = 3; // poly degree 13 //deg = 5; // poly degree 24 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 28 return remez(f(x) - poly(x), deg-d, [a;b], x^d, 1e-10); 33 for i from 1 to deg do { 36 poly = poly + x^i*coeff(p,0); 48 for i from 0 to deg do coeff(poly,i);
|
H A D | exp10.sollya | 7 deg = 5; // poly degree 14 //deg = 4; // poly degree - bump to 5 for ~1 ULP 27 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 31 return remez(f(x) - poly(x), deg-d, [a;b], x^d, 1e-10); 36 for i from 1 to deg do { 39 poly = poly + x^i*coeff(p,0); 47 for i from 0 to deg do coeff(poly,i);
|
H A D | tanf.sollya | 8 mthd = 0; // approximate tan 9 deg = 5; // poly degree 13 // deg = 3; // poly degree 16 a = 0x1.0p-126; 35 if(mthd==0) then { 40 init_poly = 0; 43 poly = fpminimax(f, deg, [|dtype ...|], [a*a;b*b]); 50 init_poly = 0; 56 return fpminimax(func - poly / x^-(deg-d), 0, [|dtype|], [a;b], absolute, floating); 59 poly = fpminimax(f, [|0,...,deg|], [|dtype ...|], [a;b], absolute, floating); [all …]
|
H A D | atan.sollya | 12 deg = 20; 13 mons = [|1,...,deg|]; 14 for i from 0 to deg-1 do mons[i] = mons[i] * 2 + 1; 16 a = 0x1.0p-1022; 23 for i from 0 to deg-1 do coeff(poly,mons[i]);
|
H A D | asinhf.sollya | 6 deg = 9; 8 a = 0x1.0p-12; 16 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10); 20 for i from 2 to deg do { 22 poly = poly + x^i*coeff(p,0); 29 for i from 2 to deg do coeff(poly,i);
|
H A D | asinf.sollya | 9 a = 0x1p-24; 12 deg = 4; 23 return remez(1 - poly(x) / forward(f, x), deg - d, [a;b], x^d/forward(f, x), 1e-16); 26 poly = 0; 27 for i from 0 to deg do { 30 poly = poly + x^i*coeff(p,0); 36 for i from 0 to deg do print(coeff(poly, i));
|
H A D | log_abs.sollya | 6 deg = 6; // poly degree 8 a = -0x1.fp-9; 9 b = 0x1.fp-9; 16 return remez(f(x) - poly(x), deg-d, [a;b], x^d, 1e-10); 21 for i from 2 to deg do { 23 poly = poly + x^i*coeff(p,0); 28 // relative error computation fails if f(0)==0 30 g = 0; 31 for i from 0 to 60 do { g = g + (-x)^i/(i+1); }; 35 for i from 0 to deg do coeff(poly,i);
|
H A D | sinpi.sollya | 6 deg = 19; // polynomial degree 19 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10); 24 for i from 0 to (deg-1)/2 do { 26 poly = poly + x^(2*i+1)*coeff(p,0); 33 for i from 0 to deg do coeff(poly,i);
|
H A D | cos.sollya | 6 deg = 8; // polynomial degree 16 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10); 21 for i from 1 to deg/2 do { 23 poly = poly + x^(2*i)*coeff(p,0); 31 for i from 0 to deg do coeff(poly,i);
|
H A D | v_exp.sollya | 6 deg = 4; // poly degree 15 return remez(exp(x)-poly(x), deg-d, [a;b], x^d, 1e-10); 20 for i from 2 to deg do { 22 poly = poly + x^i*coeff(p,0); 30 for i from 0 to deg do coeff(poly,i);
|
/freebsd/contrib/arm-optimized-routines/math/ |
H A D | erf_data.c | 16 0x1.06eba8214db68p-3, -0x1.812746b037948p-2, 0x1.ce2f21a03872p-4, 17 -0x1.b82ce30e6548p-6, 0x1.565bcc360a2f2p-8, -0x1.c02d812bc979ap-11, 18 0x1.f99bddfc1ebe9p-14, -0x1.f42c457cee912p-17, 0x1.b0e414ec20ee9p-20, 19 -0x1.18c47fd143c5ep-23 22 /* Rational approximation on [0x1p-28, 0.84375] */ 24 0x1.06eba8214db68p-3, -0x1.4cd7d691cb913p-2, -0x1.d2a51dbd7194fp-6, 25 -0x1.7a291236668e4p-8, -0x1.8ead6120016acp-16 28 0x1.97779cddadc09p-2, 0x1.0a54c5536cebap-4, 0x1.4d022c4d36b0fp-8, 29 0x1.15dc9221c1a1p-13, -0x1.09c4342a2612p-18 33 -0x1.359b8bef77538p-9, 0x1.a8d00ad92b34dp-2, -0x1.7d240fbb8c3f1p-2, [all …]
|
/freebsd/usr.bin/pom/ |
H A D | pom.c | 65 #define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0) 78 int ch, cnt, pflag = 0; in main() 80 char *progname = argv[0]; in main() 82 if (caph_limit_stdio() < 0) in main() 86 if (caph_enter() < 0) in main() 121 tmd.tm_hour = 0; in main() 122 tmd.tm_min = 0; in main() 123 tmd.tm_sec = 0; in main() 143 return (0); in main() 167 return 0; in main() [all …]
|
/freebsd/contrib/arm-optimized-routines/math/aarch64/experimental/ |
H A D | tanf_data.c | 13 poly = fpminimax((tan(sqrt(x))-sqrt(x))/x^(3/2), deg, [|single ...|], [a*a;b*b]); 16 deg : 5 17 a : 0x1p-126 ^ 2 18 b : ((pi) / 0x1p2) ^ 2 19 dirty rel error: 0x1.f7c2e4p-25 20 dirty abs error: 0x1.f7c2ecp-25. */ 21 0x1.55555p-2, 22 0x1.11166p-3, 23 0x1.b88a78p-5, 24 0x1.7b5756p-6, [all …]
|
/freebsd/contrib/netbsd-tests/lib/libm/ |
H A D | t_cos.c | 48 { 0, 0.000000000000000, 1.0000000000000000, 999 }, 82 for (i = 0; i < __arraycount(angles); i++) { in ATF_TC_BODY() 83 int deg = angles[i].angle; in ATF_TC_BODY() local 87 assert(cos_theta != 0); in ATF_TC_BODY() 89 atf_tc_fail_nonfatal("cos(%d deg = %.17Lg) = %.17Lg" in ATF_TC_BODY() 91 deg, theta, cosl(theta), cos_theta); in ATF_TC_BODY() 106 ATF_CHECK(isnan(x) != 0); in ATF_TC_BODY() 107 ATF_CHECK(isnan(cosl(x)) != 0); in ATF_TC_BODY() 120 ATF_CHECK(isnan(cosl(x)) != 0); in ATF_TC_BODY() 133 ATF_CHECK(isnan(cosl(x)) != 0); in ATF_TC_BODY() [all …]
|