Lines Matching refs:got
38 gets rounded to got, i.e. error before rounding, for a correctly
40 static double RT(ulperr) (RT(float) got, const struct RT(ret) * p, int r)
46 if (RT(asuint) (got) == RT(asuint) (want))
48 if (signbit (got) != signbit (want))
50 //return isnan(got) && isnan(want) ? 0 : INFINITY;
52 if (!isfinite (want) || !isfinite (got))
54 if (isnan (got) != isnan (want))
58 if (isinf (got))
60 got = RT(copysign) (RT(halfinf), got);
66 got *= 0.5f;
71 // TODO: incorrect when got vs want cross a powof2 boundary
72 /* error = got > want
73 ? got - want - tail ulp - 0.5 ulp
74 : got - want - tail ulp + 0.5 ulp; */
75 d = got - want;
80 if ((r == FE_DOWNWARD && got < want) || (r == FE_UPWARD && got > want)
81 || (r == FE_TOWARDZERO && fabs (got) < fabs (want)))
82 got = RT(nextafter) (got, want);
83 d = got - want;
180 /* returns 1 if the got result is ok. */
280 printf (" got %a then %a for same input\n", ygot, ygot2);
317 printf (" got %a want %a %+g ulp err %g\n", ygot, want.y,
329 printf (" is %a %+g ulp, got except 0x%0x", want.y, want.tail,