err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s ceil(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s ceilf(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s ceill(%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s copysign(%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s copysignf(%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s copysignl(%La,%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fabs(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fabsf(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fabsl(%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s floor(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s floorf(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s floorl(%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fma(%a,%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->x3, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fmaf(%a,%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->x3, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fmal(%La,%La,%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->x3, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fmax(%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fmaxf(%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fmaxl(%La,%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fmin(%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fminf(%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s fminl(%La,%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r) || yi != p->i) {
+ if (!checkcr(y, p->y, p->r) || yi != p->i) {
printf("%s:%d: %s frexp(%a) want %a,%lld got %a,%d ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, p->i, y, yi, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r) || yi != p->i) {
+ if (!checkcr(y, p->y, p->r) || yi != p->i) {
printf("%s:%d: %s frexpf(%a) want %a,%lld got %a,%d ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, p->i, y, yi, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r) || yi != p->i) {
+ if (!checkcr(y, p->y, p->r) || yi != p->i) {
printf("%s:%d: %s frexpl(%La) want %La,%lld got %La,%d ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, p->i, y, yi, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s nextafter(%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s nextafterf(%a,%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s nextafterl(%La,%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s nexttoward(%La,%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s nexttowardf(%La,%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s nexttowardl(%La,%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->x2, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s rint(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s rintf(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s rintl(%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s round(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s roundf(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s roundl(%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s scalbln(%a, %lld) want %a got %a, ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->i, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s scalblnf(%a, %lld) want %a got %a, ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->i, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s scalblnl(%La, %lld) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->i, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s scalbn(%a, %lld) want %a got %a, ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->i, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s scalbnf(%a, %lld) want %a got %a, ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->i, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s scalbnl(%La, %lld) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->i, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s sqrt(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s sqrtf(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s sqrtl(%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperr(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s trunc(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrf(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s truncf(%a) want %a got %a ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
err++;
}
d = ulperrl(y, p->y, p->dy);
- if (!checkulp(d, p->r)) {
+ if (!checkcr(y, p->y, p->r)) {
printf("%s:%d: %s truncl(%La) want %La got %La ulperr %.3f = %a + %a\n",
p->file, p->line, rstr(p->r), p->x, p->y, y, d, d-p->dy, p->dy);
err++;
return 1;
}
+static int checkcr(long double y, long double ywant, int r)
+{
+ if (isnan(ywant))
+ return isnan(y);
+ return y == ywant;
+}
+