24 lines
370 B
C
24 lines
370 B
C
|
#include <fenv.h>
|
||
|
#include <features.h>
|
||
|
|
||
|
/* __fesetround wrapper for arch independent argument check */
|
||
|
|
||
|
hidden int __fesetround(int);
|
||
|
|
||
|
int fesetround(int r)
|
||
|
{
|
||
|
if (r != FE_TONEAREST
|
||
|
#ifdef FE_DOWNWARD
|
||
|
&& r != FE_DOWNWARD
|
||
|
#endif
|
||
|
#ifdef FE_UPWARD
|
||
|
&& r != FE_UPWARD
|
||
|
#endif
|
||
|
#ifdef FE_TOWARDZERO
|
||
|
&& r != FE_TOWARDZERO
|
||
|
#endif
|
||
|
)
|
||
|
return -1;
|
||
|
return __fesetround(r);
|
||
|
}
|