Home
last modified time | relevance | path

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

12345678

/freebsd/contrib/arm-optimized-routines/pl/math/
H A Dpoly_generic.h22 VTYPE p01 = FMA (poly[1], x, poly[0]); in VWRAP()
23 VTYPE p23 = FMA (poly[3], x, poly[2]); in VWRAP()
37 VTYPE p45 = FMA (poly[5], x, poly[4]); in VWRAP()
44 VTYPE p45 = FMA (poly[5], x, poly[4]); in VWRAP()
63 VTYPE p89 = FMA (poly[9], x, poly[8]); in VWRAP()
69 VTYPE p89 = FMA (poly[9], x, poly[8]); in VWRAP()
130 VTYPE p = FMA (poly[2], x, poly[1]); in VWRAP()
135 VTYPE p = FMA (poly[3], x, poly[2]); in VWRAP()
142 VTYPE p = FMA (poly[4], x, poly[3]); in VWRAP()
183 VTYPE p01 = FMA (poly[1], x, poly[0]); in VWRAP()
[all …]
H A Dpoly_sve_generic.h26 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()
41 VTYPE p45 = svmla_x (pg, DUP (poly[4]), x, poly[5]); in VWRAP()
48 VTYPE p45 = svmla_x (pg, DUP (poly[4]), x, poly[5]); in VWRAP()
67 VTYPE p89 = svmla_x (pg, DUP (poly[8]), x, poly[9]); in VWRAP()
73 VTYPE p89 = svmla_x (pg, DUP (poly[8]), x, poly[9]); in VWRAP()
141 VTYPE p = svmla_x (pg, DUP (poly[2]), x, poly[3]); in VWRAP()
148 VTYPE p = svmla_x (pg, DUP (poly[3]), x, poly[4]); in VWRAP()
193 VTYPE p01 = svmla_x (pg, DUP (poly[0]), x, poly[1]); in VWRAP()
194 VTYPE p23 = svmla_x (pg, DUP (poly[2]), x, poly[3]); in VWRAP()
[all …]
/freebsd/contrib/arm-optimized-routines/math/tools/
H A Dexp2.sollya7 deg = 3; // poly degree
13 //deg = 5; // poly degree
23 approx = proc(poly,d) {
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 ...|]);
35 // p = roundcoefficients(approx_abs(poly,i), [|D ...|]);
36 poly = poly + x^i*coeff(p,0);
[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));
32 print("abs2 error:", accurateinfnorm(exp(x)-poly(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 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 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 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 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 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);
/freebsd/contrib/arm-optimized-routines/math/aarch64/
H A Dv_exp2f_1u.c28 specialcase (float32x4_t poly, float32x4_t n, uint32x4_t e, float32x4_t absn) in specialcase() argument
36 float32x4_t r0 = poly * s1 * s2; in specialcase()
44 float32x4_t n, r, scale, poly, absn; in _ZGVnN4v_exp2f_1u() local
63 poly = vfmaq_f32 (C1, C0, r); in _ZGVnN4v_exp2f_1u()
64 poly = vfmaq_f32 (C2, poly, r); in _ZGVnN4v_exp2f_1u()
65 poly = vfmaq_f32 (C3, poly, r); in _ZGVnN4v_exp2f_1u()
66 poly = vfmaq_f32 (C4, poly, r); in _ZGVnN4v_exp2f_1u()
67 poly = vfmaq_f32 (C5, poly, r); in _ZGVnN4v_exp2f_1u()
68 poly = vfmaq_f32 (v_f32 (1.0f), poly, r); in _ZGVnN4v_exp2f_1u()
70 return specialcase (poly, n, e, absn); in _ZGVnN4v_exp2f_1u()
[all …]
H A Dv_expf_1u.c31 specialcase (float32x4_t poly, float32x4_t n, uint32x4_t e, float32x4_t absn) in specialcase() argument
39 float32x4_t r0 = poly * s1 * s2; in specialcase()
47 float32x4_t n, r, scale, poly, absn, z; in _ZGVnN4v_expf_1u() local
68 poly = vfmaq_f32 (C1, C0, r); in _ZGVnN4v_expf_1u()
69 poly = vfmaq_f32 (C2, poly, r); in _ZGVnN4v_expf_1u()
70 poly = vfmaq_f32 (C3, poly, r); in _ZGVnN4v_expf_1u()
71 poly = vfmaq_f32 (C4, poly, r); in _ZGVnN4v_expf_1u()
72 poly = vfmaq_f32 (v_f32 (1.0f), poly, r); in _ZGVnN4v_expf_1u()
73 poly = vfmaq_f32 (v_f32 (1.0f), poly, r); in _ZGVnN4v_expf_1u()
75 return specialcase (poly, n, e, absn); in _ZGVnN4v_expf_1u()
[all …]
/freebsd/contrib/arm-optimized-routines/pl/math/tools/
H A Dexp10.sollya7 deg = 5; // poly degree
14 //deg = 4; // poly degree - bump to 5 for ~1 ULP
26 approx = proc(poly,d) {
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 ...|]);
38 // p = roundcoefficients(approx_abs(poly,i), [|wp ...|]);
39 poly = poly + x^i*coeff(p,0);
[all …]
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 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 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 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 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 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_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);

12345678