30#ifndef _RWSTD_FPCLASS_H_INCLUDED
31#define _RWSTD_FPCLASS_H_INCLUDED
38#ifdef _RWSTD_FORCE_IEEEFP_H
49 return !!_finite (
val);
56 return 0 > _copysign (1.,
val);
63 const int fpc = _fpclass (
val);
65 if (_FPCLASS_NINF == fpc) {
71 else if (_FPCLASS_PINF == fpc) {
85 return !!_isnan (
val);
91 return _FPCLASS_QNAN == _fpclass (
val);
97 return _FPCLASS_SNAN == _fpclass (
val);
101#elif defined (_RWSTD_OS_SUNOS)
106 return !!finite (
val);
121 const int fpc = fpclass (
val);
123 if (FP_NINF == fpc) {
129 else if (FP_PINF == fpc) {
143 return 0 != isnan (
val);
150 return FP_QNAN == fpclass (
val);
157 return FP_SNAN == fpclass (
val);
161#elif defined (fpclassify)
167 return !!isfinite (
val);
174 return !!signbit (
val);
181 return !!isinf (
val);
188 return !!isnan (
val);
235#ifndef _RWSTD_NO_LONG_DOUBLE
237# if _RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE
257inline bool __rw_isinf (
long double) {
return false; }
259inline bool __rw_isnan (
long double) {
return false; }
261inline bool __rw_isqnan (
long double) {
return false; }
263inline bool __rw_issnan (
long double) {
return false; }
#define _RWSTD_REINTERPRET_CAST(T, x)
#define _RWSTD_ASSERT(ignore)
bool __rw_isfinite(double)
bool __rw_signbit(double)