include: Define fpclassify().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
da8176df61
commit
2971716835
|
@ -251,11 +251,22 @@ static const union {
|
||||||
#define FP_ILOGB0 (-0x7fffffff - _C2)
|
#define FP_ILOGB0 (-0x7fffffff - _C2)
|
||||||
#define FP_ILOGBNAN 0x7fffffff
|
#define FP_ILOGBNAN 0x7fffffff
|
||||||
|
|
||||||
|
#if _MSVCR_VER >= 120
|
||||||
|
|
||||||
_ACRTIMP short __cdecl _dclass(double);
|
_ACRTIMP short __cdecl _dclass(double);
|
||||||
_ACRTIMP short __cdecl _fdclass(float);
|
_ACRTIMP short __cdecl _fdclass(float);
|
||||||
_ACRTIMP int __cdecl _dsign(double);
|
_ACRTIMP int __cdecl _dsign(double);
|
||||||
_ACRTIMP int __cdecl _fdsign(float);
|
_ACRTIMP int __cdecl _fdsign(float);
|
||||||
|
|
||||||
|
#define fpclassify(x) (sizeof(x) == sizeof(float) ? _fdclass(x) : _dclass(x))
|
||||||
|
#define signbit(x) (sizeof(x) == sizeof(float) ? _fdsign(x) : _dsign(x))
|
||||||
|
#define isinf(x) (fpclassify(x) == FP_INFINITE)
|
||||||
|
#define isnan(x) (fpclassify(x) == FP_NAN)
|
||||||
|
#define isnormal(x) (fpclassify(x) == FP_NORMAL)
|
||||||
|
#define isfinite(x) (fpclassify(x) <= 0)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
static inline int __isnanf(float x)
|
static inline int __isnanf(float x)
|
||||||
{
|
{
|
||||||
union { float x; unsigned int i; } u = { x };
|
union { float x; unsigned int i; } u = { x };
|
||||||
|
@ -303,6 +314,8 @@ static inline int __signbit(double x)
|
||||||
#define signbit(x) (sizeof(x) == sizeof(float) ? __signbitf(x) : __signbit(x))
|
#define signbit(x) (sizeof(x) == sizeof(float) ? __signbitf(x) : __signbit(x))
|
||||||
#define isfinite(x) (!isinf(x) && !isnan(x))
|
#define isfinite(x) (!isinf(x) && !isnan(x))
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue