Home
last modified time | relevance | path

Searched refs:poly (Results 1 – 25 of 155) sorted by relevance

1234567

/freebsd/contrib/arm-optimized-routines/math/
H A Dpoly_generic.h19 const VTYPE *poly) in VWRAP()
22 VTYPE p01 = FMA (poly[1], x, poly[0]); in VWRAP()
23 VTYPE p23 = FMA (poly[3], x, poly[2]); in VWRAP()
28 const VTYPE *poly) in VWRAP()
30 VTYPE p03 = VWRAP (pairwise_poly_3) (x, x2, poly); in VWRAP()
31 return FMA (poly[4], x4, p03); in VWRAP()
34 const VTYPE *poly) in VWRAP()
36 VTYPE p03 = VWRAP (pairwise_poly_3) (x, x2, poly); in VWRAP()
37 VTYPE p45 = FMA (poly[5], x, poly[4]); in VWRAP()
41 const VTYPE *poly) in VWRAP()
[all …]
/freebsd/contrib/arm-optimized-routines/math/aarch64/sve/
H A Dsv_poly_generic.h23 const STYPE *poly) in VWRAP()
26 VTYPE p01 = svmla_x (pg, DUP (poly[0]), x, poly[1]); in VWRAP()
27 VTYPE p23 = svmla_x (pg, DUP (poly[2]), x, poly[3]); in VWRAP()
32 const STYPE *poly) in VWRAP()
34 VTYPE p03 = VWRAP (pairwise_poly_3) (pg, x, x2, poly); in VWRAP()
35 return svmla_x (pg, p03, x4, poly[4]); in VWRAP()
38 const STYPE *poly) in VWRAP()
40 VTYPE p03 = VWRAP (pairwise_poly_3) (pg, x, x2, poly); in VWRAP()
41 VTYPE p45 = svmla_x (pg, DUP (poly[4]), x, poly[5]); in VWRAP()
45 const STYPE *poly) in VWRAP()
[all …]
/freebsd/contrib/arm-optimized-routines/math/tools/
H A Dexp2.sollya7 deg = 3; // poly degree
13 //deg = 5; // poly degree
22 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
23 approx = proc(poly,d) {
24 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
26 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
27 approx_abs = proc(poly,d) {
28 return remez(f(x) - poly(x), deg-d, [a;b], x^d, 1e-10);
32 poly = 1;
34 p = roundcoefficients(approx(poly,i), [|D ...|]);
[all …]
H A Dexp10.sollya7 deg = 5; // poly degree
14 //deg = 4; // poly degree - bump to 5 for ~1 ULP
25 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
26 approx = proc(poly,d) {
27 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
29 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
30 approx_abs = proc(poly,d) {
31 return remez(f(x) - poly(x), deg-d, [a;b], x^d, 1e-10);
35 poly = 1;
37 p = roundcoefficients(approx(poly,i), [|wp ...|]);
[all …]
H A Dexp.sollya6 deg = 5; // poly degree
14 // return p that minimizes |exp(x) - poly(x) - x^d*p(x)|
15 approx = proc(poly,d) {
16 return remez(exp(x)-poly(x), deg-d, [a;b], x^d, 1e-10);
20 poly = 1 + x;
22 p = roundcoefficients(approx(poly,i), [|D ...|]);
23 poly = poly + x^i*coeff(p,0);
27 print("rel error:", accurateinfnorm(1-poly(x)/exp(x), [a;b], 30));
28 print("abs error:", accurateinfnorm(exp(x)-poly(x), [a;b], 30));
31 print("rel2 error:", accurateinfnorm(1-poly(x)/exp(x), [2*a;2*b], 30));
[all …]
H A Dv_exp.sollya6 deg = 4; // poly degree
13 // return p that minimizes |exp(x) - poly(x) - x^d*p(x)|
14 approx = proc(poly,d) {
15 return remez(exp(x)-poly(x), deg-d, [a;b], x^d, 1e-10);
19 poly = 1 + x;
21 p = roundcoefficients(approx(poly,i), [|D ...|]);
22 poly = poly + x^i*coeff(p,0);
26 print("rel error:", accurateinfnorm(1-poly(x)/exp(x), [a;b], 30));
27 print("abs error:", accurateinfnorm(exp(x)-poly(x), [a;b], 30));
30 for i from 0 to deg do coeff(poly,i);
H A Dv_log10.sollya6 deg = 6; // poly degree
18 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
19 approx = proc(poly,d) {
20 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
24 poly = 1;
26 p = roundcoefficients(approx(poly,i), [|D ...|]);
27 poly = poly + x^i*coeff(p,0);
32 poly = poly/ln10;
35 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
38 for i from 0 to deg do double(coeff(poly,i));
H A Dasinf.sollya14 backward = proc(poly, d) {
15 return d + d ^ 3 * poly(d * d);
22 approx = proc(poly, d) {
23 return remez(1 - poly(x) / forward(f, x), deg - d, [a;b], x^d/forward(f, x), 1e-16);
26 poly = 0;
29 p = roundcoefficients(approx(poly,i), [|dtype ...|]);
30 poly = poly + x^i*coeff(p,0);
34 print("rel error:", accurateinfnorm(1-backward(poly, x)/f(x), [a;b], 30));
36 for i from 0 to deg do print(coeff(poly, i));
H A Dcos.sollya14 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
15 approx = proc(poly,d) {
16 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10);
20 poly = 1;
22 p = roundcoefficients(approx(poly,2*i), [|D ...|]);
23 poly = poly + x^(2*i)*coeff(p,0);
27 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
28 print("abs error:", accurateinfnorm(f(x)-poly(x), [a;b], 30));
31 for i from 0 to deg do coeff(poly,i);
H A Dlog_abs.sollya6 deg = 6; // poly degree
14 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
15 approx = proc(poly,d) {
16 return remez(f(x) - poly(x), deg-d, [a;b], x^d, 1e-10);
20 poly = x;
22 p = roundcoefficients(approx(poly,i), [|D ...|]);
23 poly = poly + x^i*coeff(p,0);
27 print("abs error:", accurateinfnorm(f(x)-poly(x), [a;b], 30));
32 print("rel error:", accurateinfnorm(1-poly(x)/x/g(x), [a;b], 30));
35 for i from 0 to deg do coeff(poly,i);
H A Dlog2_abs.sollya6 deg = 7; // poly degree
18 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
19 approx = proc(poly,d) {
20 return remez(f(x) - poly(x), deg-d, [a;b], x^d, 1e-10);
24 poly = x*(invln2lo + invln2hi);
26 p = roundcoefficients(approx(poly,i), [|D ...|]);
27 poly = poly + x^i*coeff(p,0);
33 print("abs error:", accurateinfnorm(f(x)-poly(x), [a;b], 30));
38 //print("rel error:", accurateinfnorm(1-(poly(x)/x)/g(x), [a;b], 30));
41 for i from 0 to deg do coeff(poly,i);
H A Dsincosf.sollya16 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
17 approx = proc(poly,d) {
18 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10);
22 poly = 1;
24 p = roundcoefficients(approx(poly,2*i), [|single ...|]);
25 poly = poly + x^(2*i)*coeff(p,0);
29 //print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
30 //print("abs error:", accurateinfnorm(f(x)-poly(x), [a;b], 30));
33 for i from 0 to deg do coeff(poly,i);
H A Dsin.sollya20 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
21 approx = proc(poly,d) {
22 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10);
26 poly = 1;
28 p = roundcoefficients(approx(poly,2*i), [|D ...|]);
29 poly = poly + x^(2*i)*coeff(p,0);
33 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
34 print("abs error:", accurateinfnorm(sin(x)-x*poly(x), [a;b], 30));
37 for i from 0 to deg do coeff(poly,i);
H A Dlog.sollya6 deg = 12; // poly degree
19 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
20 approx = proc(poly,d) {
21 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
25 poly = 1;
27 p = roundcoefficients(approx(poly,i), [|D ...|]);
28 poly = poly + x^i*coeff(p,0);
32 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
35 for i from 0 to deg do coeff(poly,i);
H A Dv_log.sollya6 deg = 6; // poly degree
18 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
19 approx = proc(poly,d) {
20 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
24 poly = 1;
26 p = roundcoefficients(approx(poly,i), [|D ...|]);
27 poly = poly + x^i*coeff(p,0);
31 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
34 for i from 0 to deg do coeff(poly,i);
H A Dv_log2f.sollya6 deg = 9; // poly degree
22 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
23 approx = proc(poly,d) {
24 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
28 poly = invln2;
30 p = roundcoefficients(approx(poly,i), [|SG ...|]);
31 poly = poly + x^i*coeff(p,0);
35 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
38 for i from 0 to deg do coeff(poly,i);
H A Dsincos.sollya16 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
17 approx = proc(poly,d) {
18 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10);
22 poly = 1;
24 p = roundcoefficients(approx(poly,2*i), [|double ...|]);
25 poly = poly + x^(2*i)*coeff(p,0);
29 //print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
30 //print("abs error:", accurateinfnorm(f(x)-poly(x), [a;b], 30));
33 for i from 0 to deg do coeff(poly,i);
H A Dlog10f.sollya8 deg = 4; // poly degree
21 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
22 approx = proc(poly,d) {
23 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
27 poly = 1;
29 p = roundcoefficients(approx(poly,i), [|D ...|]);
30 poly = poly + x^i*coeff(p,0);
34 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
37 for i from 0 to deg do double(coeff(poly,i));
H A Dasinhf.sollya15 approx = proc(poly, d) {
16 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
19 poly = x;
21 p = roundcoefficients(approx(poly,i), [|SG ...|]);
22 poly = poly + x^i*coeff(p,0);
26 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
29 for i from 2 to deg do coeff(poly,i);
H A Dlog2.sollya6 deg = 11; // poly degree
24 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
25 approx = proc(poly,d) {
26 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
30 poly = invln2hi + invln2lo;
32 p = roundcoefficients(approx(poly,i), [|D ...|]);
33 poly = poly + x^i*coeff(p,0);
39 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
42 for i from 0 to deg do coeff(poly,i);
H A Dv_log10f.sollya6 deg = 9; // poly degree
26 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
27 approx = proc(poly,d) {
28 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
32 poly = invln10;
34 p = roundcoefficients(approx(poly,i), [|SG ...|]);
35 poly = poly + x^i*coeff(p,0);
39 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
42 for i from 0 to deg do single(coeff(poly,i));
H A Dlog10.sollya6 deg = 6; // poly degree
24 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|/|f(x)|
25 approx = proc(poly,d) {
26 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
30 poly = invln10hi + invln10lo;
32 p = roundcoefficients(approx(poly,i), [|D ...|]);
33 poly = poly + x^i*coeff(p,0);
38 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
41 for i from 0 to deg do coeff(poly,i);
H A Dlog1p.sollya15 approx = proc(poly, d) {
16 return remez(1 - poly(x)/f(x), deg-d, [a;b], x^d/f(x), 1e-10);
19 poly = x;
21 p = roundcoefficients(approx(poly,i), [|D ...|]);
22 poly = poly + x^i*coeff(p,0);
28 for i from 2 to deg do coeff(poly,i);
29 print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
H A Dv_sin.sollya20 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
21 approx = proc(poly,d) {
22 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10);
26 poly = 1;
28 p = roundcoefficients(approx(poly,2*i), [|D ...|]);
29 poly = poly + x^(2*i)*coeff(p,0);
33 print("abs error:", accurateinfnorm(sin(x)-x*poly(x), [a;b], 30));
36 for i from 0 to deg do coeff(poly,i);
H A Dsinpi.sollya17 // return p that minimizes |f(x) - poly(x) - x^d*p(x)|
18 approx = proc(poly,d) {
19 return remez(f(x)-poly(x), deg-d, [a;b], x^d, 1e-10);
23 poly = pi*x;
25 p = roundcoefficients(approx(poly,2*i+1), [|D ...|]);
26 poly = poly + x^(2*i+1)*coeff(p,0);
30 print("abs error:", accurateinfnorm(sin(pi*x)-poly(x), [a;b], 30));
33 for i from 0 to deg do coeff(poly,i);

1234567