23 #if ! defined (octave_lo_ieee_h)
24 #define octave_lo_ieee_h 1
26 #include "octave-config.h"
28 #if defined (__cplusplus)
33 #define octave_Inf (lo_ieee_inf_value ())
36 #define octave_NA (lo_ieee_na_value ())
39 #define octave_NaN (lo_ieee_nan_value ())
42 #define octave_Float_Inf (lo_ieee_float_inf_value ())
45 #define octave_Float_NA (lo_ieee_float_na_value ())
48 #define octave_Float_NaN (lo_ieee_float_nan_value ())
65 #define LO_IEEE_NA_HW_OLD 0x7ff00000
66 #define LO_IEEE_NA_LW_OLD 1954
67 #define LO_IEEE_NA_HW 0x7FF840F4
68 #define LO_IEEE_NA_LW 0x40000000
69 #define LO_IEEE_NA_FLOAT 0x7FC207A2
99 #if defined (__cplusplus)
103 #define lo_ieee_isnan(x) \
104 (sizeof (x) == sizeof (float) \
105 ? __lo_ieee_float_isnan (x) : __lo_ieee_isnan (x))
107 #define lo_ieee_finite(x) \
108 (sizeof (x) == sizeof (float) \
109 ? __lo_ieee_float_finite (x) : __lo_ieee_finite (x))
111 #define lo_ieee_isinf(x) \
112 (sizeof (x) == sizeof (float) \
113 ? __lo_ieee_float_isinf (x) : __lo_ieee_isinf (x))
115 #define lo_ieee_is_NA(x) \
116 (sizeof (x) == sizeof (float) \
117 ? __lo_ieee_float_is_NA (x) : __lo_ieee_is_NA (x))
119 #define lo_ieee_is_NaN_or_NA(x) \
120 (sizeof (x) == sizeof (float) \
121 ? __lo_ieee_float_is_NaN_or_NA (x) : __lo_ieee_is_NaN_or_NA (x))
123 #define lo_ieee_signbit(x) \
124 (sizeof (x) == sizeof (float) \
125 ? __lo_ieee_float_signbit (x) : __lo_ieee_signbit (x))
127 #if defined (__cplusplus)
131 template <
typename T>
132 struct numeric_limits
134 static T
NA (
void) {
return static_cast<T
> (0); }
135 static T
NaN (
void) {
return static_cast<T
> (0); }
136 static T
Inf (
void) {
return static_cast<T
> (0); }
140 struct numeric_limits<double>
148 struct numeric_limits<float>
Octave interface to the compression and uncompression libraries.
OCTAVE_API int __lo_ieee_finite(double x)
OCTAVE_API int __lo_ieee_float_finite(float x)
OCTAVE_API int __lo_ieee_isnan(double x)
OCTAVE_API double lo_ieee_inf_value(void)
OCTAVE_API float lo_ieee_float_na_value(void)
OCTAVE_API int __lo_ieee_is_NA(double)
OCTAVE_API double lo_ieee_na_value(void)
OCTAVE_API int __lo_ieee_float_isnan(float x)
OCTAVE_API int __lo_ieee_float_is_NA(float)
OCTAVE_API int __lo_ieee_float_signbit(float)
OCTAVE_API double __lo_ieee_replace_old_NA(double)
OCTAVE_API int __lo_ieee_isinf(double x)
OCTAVE_EXPORT octave_value_list or N dimensional array whose elements are all equal to the special constant used to designate missing values Note that NA always compares not equal to NA(NA!=NA).To find NA values
OCTAVE_API void octave_ieee_init(void)
OCTAVE_API float lo_ieee_float_nan_value(void)
OCTAVE_API int __lo_ieee_signbit(double)
OCTAVE_API double lo_ieee_nan_value(void)
OCTAVE_EXPORT octave_value_list or N dimensional array whose elements are all equal to the IEEE symbol NaN(Not a Number).NaN is the result of operations which do not produce a well defined 0 result.Common operations which produce a NaN are arithmetic with infinity ex($\infty-\infty $)
OCTAVE_API float lo_ieee_float_inf_value(void)
OCTAVE_API int __lo_ieee_is_old_NA(double)
OCTAVE_API int __lo_ieee_float_isinf(float x)
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE * x