Lines Matching full:rt
10 RT(x) should add a return type specific suffix to x. */
16 static int RT(ulpscale_mpfr) (mpfr_t x, int t) in RT() function
21 mpfr_exp_t e = mpfr_get_exp (x) - RT(prec); in RT()
22 if (e < RT(emin)) in RT()
23 e = RT(emin) - 1; in RT()
24 if (e > RT(emax) - RT(prec)) in RT()
25 e = RT(emax) - RT(prec); in RT()
29 return RT(emin) - 1; in RT()
31 return RT(emax) - RT(prec); in RT()
40 static double RT (ulperr) (RT (float) got, const struct RT (ret) * p, int r, in RT() function
43 RT(float) want = p->y; in RT()
44 RT(float) d; in RT()
47 if (RT(asuint) (got) == RT(asuint) (want)) in RT()
54 return RT (issignaling) (got) == RT (issignaling) (want) ? 0 : INFINITY; in RT()
73 got = RT(copysign) (RT(halfinf), got); in RT()
78 want = RT(copysign) (RT(halfinf), want); in RT()
95 got = RT(nextafter) (got, want); in RT()
99 return RT(scalbn) (d, -p->ulpexp) + e; in RT()
102 static int RT(isok) (RT(float) ygot, int exgot, RT(float) ywant, int exwant, in RT() function
105 return RT(asuint) (ygot) == RT(asuint) (ywant) in RT()
109 static int RT(isok_nofenv) (RT(float) ygot, RT(float) ywant) in RT() function
111 return RT(asuint) (ygot) == RT(asuint) (ywant); in RT()
116 int r, RT (float) * y, int *ex, in T()
129 int r, RT (float) * y, int *ex, in T()
141 int r, struct RT (ret) * p, in T()
142 RT (float) ygot, int exgot) in T()
149 RT(double) yl = T(call_long) (f, a); in T()
150 p->y = (RT(float)) yl; in T()
151 volatile RT(float) vy = p->y; // TODO: barrier in T()
157 if (RT(isok) (ygot, exgot, p->y, p->ex, p->ex_may)) in T()
159 p->ulpexp = RT(ulpscale) (p->y); in T()
161 p->tail = RT(lscalbn) (yl - (RT(double)) 2 * RT(halfinf), -p->ulpexp); in T()
163 p->tail = RT(lscalbn) (yl - p->y, -p->ulpexp); in T()
164 if (RT(fabs) (p->y) < RT(min_normal)) in T()
174 int r, struct RT(ret) * p, in T()
175 RT(float) ygot, int exgot) in T()
179 RT(double) yl = T(call_long) (f, a); in T()
180 p->y = (RT(float)) yl; in T()
183 if (RT(isok_nofenv) (ygot, p->y)) in T()
185 p->ulpexp = RT(ulpscale) (p->y); in T()
187 p->tail = RT(lscalbn) (yl - (RT(double)) 2 * RT(halfinf), -p->ulpexp); in T()
189 p->tail = RT(lscalbn) (yl - p->y, -p->ulpexp); in T()
196 return T(reduce) (a, isnan, ||) && !T(reduce) (a, RT(issignaling), ||); in T()
198 static inline RT(float) T(sum) (struct T(args) a) in T()
205 int r_fenv, struct RT(ret) * p, in T()
206 RT(float) ygot, int exgot) in T()
211 MPFR_DECL_INIT(my, RT(prec_mpfr)); in T()
212 MPFR_DECL_INIT(mr, RT(prec)); in T()
213 MPFR_DECL_INIT(me, RT(prec_mpfr)); in T()
220 mpfr_set_emin (RT(emin)); in T()
221 mpfr_set_emax (RT(emax)); in T()
238 if (!mpfr_nanflag_p () && RT(isok) (ygot, exgot, p->y, p->ex, p->ex_may)) in T()
242 p->ulpexp = RT(ulpscale_mpfr) (my, t); in T()
252 return RT(isok) (ygot, exgot, p->y, p->ex, p->ex_may); in T()
256 return RT(isok) (ygot, exgot, p->y, p->ex, p->ex_may); in T()
281 struct RT(ret) want; in T()
285 RT(float) ygot; in T()
286 RT(float) ygot2; in T()
299 if (RT(asuint) (ygot) != RT(asuint) (ygot2)) in T()
315 double err = RT (ulperr) (ygot, &want, r, conf->ignore_zero_sign); in T()