ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
modf.c File Reference
#include <fenv.h>
#include <math.h>
Include dependency graph for modf.c:

Macros

#define modff_def(type, name, nearbyint_func, copysign_func, isinf_func)

Functions

 modff_def (float, modff, nearbyintf, copysignf, isinf)
 modff_def (double, modf, nearbyint, copysign, isinf)
 modff_def (long double, modfl, nearbyintl, copysignl, isinf)

Macro Definition Documentation

◆ modff_def

#define modff_def ( type,
name,
nearbyint_func,
copysign_func,
isinf_func )
Value:
type name(type value, type *iptr) \
{ \
__ESBMC_HIDE:; \
int save_round = fegetround(); \
fesetround(FE_TOWARDZERO); \
*iptr = nearbyint_func(value); \
fesetround(save_round); \
return copysign_func(isinf_func(value) ? 0.0 : value - (*iptr), value); \
} \
\
type __##name(type value, type *iptr) \
{ \
__ESBMC_HIDE:; \
return name(value, iptr); \
}
Definition toml.hpp:1531
int fegetround(void)
Definition fenv.c:5

Function Documentation

◆ modff_def() [1/3]

modff_def ( double ,
modf ,
nearbyint ,
copysign ,
isinf  )

◆ modff_def() [2/3]

modff_def ( float ,
modff ,
nearbyintf ,
copysignf ,
isinf  )

◆ modff_def() [3/3]

modff_def ( long double ,
modfl ,
nearbyintl ,
copysignl ,
isinf  )