X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmath%2Fmodf.c;h=77c044c2f8ebba8218a7cae34a78db118edba051;hb=6b77f151006de1969ad898b6644a68a285d14452;hp=43b8657933d2c64f2b443f170dbcff1cc9233f42;hpb=bed26db89037d70a6a422bb488ed08030a8e381b;p=libc-test diff --git a/src/math/modf.c b/src/math/modf.c index 43b8657..77c044c 100644 --- a/src/math/modf.c +++ b/src/math/modf.c @@ -56,7 +56,7 @@ static struct { NAN, NAN, NAN, }; -#define eq(a, b) (isnan(a) && isnan(b) || ((a) == (b) && signbit(a) == signbit(b))) +#define eq(a, b) ((isnan(a) && isnan(b)) || ((a) == (b) && signbit(a) == signbit(b))) void test_modf() { @@ -88,3 +88,64 @@ void test_modfl() error("modfl(%La) want %La %La got %La %La\n", tl[i].x, tl[i].yf, tl[i].yi, yf, yi); } } + +void bench_modf_small(int N) +{ + int i; + double yi; + volatile double yf; + + for (i = 0; i < N; i++) + yf = modf(1234.5678, &yi); +} + +void bench_modf_negint(int N) +{ + int i; + double yi; + volatile double yf; + + for (i = 0; i < N; i++) + yf = modf(-1234.0, &yi); +} + +void bench_modf_large(int N) +{ + int i; + double yi; + volatile double yf; + + for (i = 0; i < N; i++) + yf = modf(1.2345678e300, &yi); +} + + +void bench_modff_small(int N) +{ + int i; + float yi; + volatile float yf; + + for (i = 0; i < N; i++) + yf = modff(1234.5678, &yi); +} + +void bench_modff_negint(int N) +{ + int i; + float yi; + volatile float yf; + + for (i = 0; i < N; i++) + yf = modff(-1234.0, &yi); +} + +void bench_modff_large(int N) +{ + int i; + float yi; + volatile float yf; + + for (i = 0; i < N; i++) + yf = modff(1.2345678e100, &yi); +}