X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmath%2Fnexttowardf.c;h=0cbed2f7e96ef75b50b8c34a713a84219b887b65;hb=b55b931794bff9e88a3443daa8404c74f7f1d17c;hp=c402015c6cad699093223a3e7d107755e1086a8a;hpb=ddfb9f92381086ef0b29f6fdddee3f7e51fb82e1;p=libc-test diff --git a/src/math/nexttowardf.c b/src/math/nexttowardf.c index c402015..0cbed2f 100644 --- a/src/math/nexttowardf.c +++ b/src/math/nexttowardf.c @@ -1,13 +1,16 @@ #include #include -#include "util.h" +#include "mtest.h" +// TODO: separate ldbl dir static struct ll_l t[] = { #if LDBL_MANT_DIG == 53 #include "sanity/nexttowardf.h" +#include "special/nexttowardf.h" #elif LDBL_MANT_DIG == 64 #include "sanity/nexttowardf.h" +#include "special/nexttowardf.h" #endif }; @@ -15,7 +18,7 @@ static struct ll_l t[] = { int main(void) { #pragma STDC FENV_ACCESS ON - long double y; + float y; float d; int e, i, err = 0; struct ll_l *p; @@ -30,15 +33,15 @@ int main(void) y = nexttowardf(p->x, p->x2); e = fetestexcept(INEXACT|INVALID|DIVBYZERO|UNDERFLOW|OVERFLOW); - if (!checkexcept(e, p->e, p->r)) { + if (!checkexceptall(e, p->e, p->r)) { printf("%s:%d: bad fp exception: %s nexttowardf(%La,%La)=%La, want %s", p->file, p->line, rstr(p->r), p->x, p->x2, p->y, estr(p->e)); printf(" got %s\n", estr(e)); err++; } - d = ulperrl(y, p->y, p->dy); - if (!checkulp(d, p->r)) { - printf("%s:%d: %s nexttowardf(%La,%La) want %La got %La ulperr %.3f = %a + %a\n", + d = ulperrf(y, p->y, p->dy); + if (!checkcr(y, p->y, p->r)) { + printf("%s:%d: %s nexttowardf(%La,%La) want %La 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++; }