+++ /dev/null
-#include "test.h"
-#include <math.h>
-#include <stdint.h>
-#include <fenv.h>
-#include <stdio.h>
-#include <float.h>
-
-
-void test_fenv()
-{
- int r;
-
- r = fesetround(FE_UPWARD);
- if (r != 0)
- error("fesetround %d\n", r);
- r = fegetround();
- if (r != FE_UPWARD)
- error("fegetround %x wanted %x\n", r, FE_UPWARD);
- r = fesetround(FE_TONEAREST);
- if (r != 0)
- error("fesetround %d\n", r);
- r = fegetround();
- if (r != FE_TONEAREST)
- error("fegetround %x wanted %x\n", r, FE_TONEAREST);
-}
-
-void test_fenv_except()
-{
- int i,r;
-
- for (i = 0; i < 64; i++) {
- feclearexcept(FE_ALL_EXCEPT);
-
- r = feraiseexcept(i);
- if (r)
- error("feraise %d returned %d\n", i, r);
- r = fetestexcept(FE_ALL_EXCEPT);
- if (r != i)
- error("feraise want %d got %d\n", i, r);
- }
-}
-
-void bench_feraiseexcept(int N)
-{
- int i;
- for (i = 0; i < N; i++) {
- feraiseexcept(i&63);
- }
-}
-
-void bench_fesetround(int N)
-{
- int i;
- int r = 0;
-
- for (i = 0; i < N; i++) {
- r ^= 0x400;
- fesetround(r);
- }
-}