Lines Matching full:want
43 RT(float) want = p->y;
47 if (RT(asuint) (got) == RT(asuint) (want))
49 if (isnan (got) && isnan (want))
54 return RT (issignaling) (got) == RT (issignaling) (want) ? 0 : INFINITY;
56 if (signbit (got) != signbit (want))
59 exactly one of want and got is non-zero. */
60 if (ignore_zero_sign && want == got)
62 if (!ignore_zero_sign || (want != 0 && got != 0))
65 if (!isfinite (want) || !isfinite (got))
67 if (isnan (got) != isnan (want))
69 if (isnan (want))
74 want *= 0.5f;
76 if (isinf (want))
78 want = RT(copysign) (RT(halfinf), want);
84 // TODO: incorrect when got vs want cross a powof2 boundary
85 /* error = got > want
86 ? got - want - tail ulp - 0.5 ulp
87 : got - want - tail ulp + 0.5 ulp. */
88 d = got - want;
93 if ((r == FE_DOWNWARD && got < want) || (r == FE_UPWARD && got > want)
94 || (r == FE_TOWARDZERO && fabs (got) < fabs (want)))
95 got = RT(nextafter) (got, want);
96 d = got - want;
281 struct RT(ret) want;
309 ? T(call_mpfr_fix) (f, a, r, &want, ygot, exgot)
310 : (fenv ? T(call_long_fenv) (f, a, r, &want, ygot, exgot)
311 : T(call_long_nofenv) (f, a, r, &want, ygot, exgot));
315 double err = RT (ulperr) (ygot, &want, r, conf->ignore_zero_sign);
341 printf (" got %a want %a %+g ulp err %g\n", ygot, want.y,
342 want.tail, err);
344 int diff = fenv ? exgot ^ want.ex : 0;
345 if (fenv && (diff & ~want.ex_may))
353 printf (" is %a %+g ulp, got except 0x%0x", want.y, want.tail,