26#if ! defined (octave_lo_ieee_h)
27#define octave_lo_ieee_h 1
29#include "octave-config.h"
31#if defined (__cplusplus)
40#define octave_Inf (lo_ieee_inf_value ())
43#define octave_NA (lo_ieee_na_value ())
46#define octave_NaN (lo_ieee_nan_value ())
49#define octave_Float_Inf (lo_ieee_float_inf_value ())
52#define octave_Float_NA (lo_ieee_float_na_value ())
55#define octave_Float_NaN (lo_ieee_float_nan_value ())
74#if defined (__cplusplus)
75OCTAVE_DEPRECATED (10,
"use std::isnan instead")
77OCTAVE_DEPRECATED (10,
"use std::isfinite instead")
79OCTAVE_DEPRECATED (10,
"use std::isinf instead")
82OCTAVE_DEPRECATED (10,
"use std::signbit instead")
85OCTAVE_DEPRECATED (10,
"use std::isnan instead")
87OCTAVE_DEPRECATED (10,
"use std::isfinite instead")
89OCTAVE_DEPRECATED (10,
"use std::isinf instead")
92OCTAVE_DEPRECATED (10,
"use std::signbit instead")
95OCTAVE_DEPRECATED (10,
"use isnan instead")
97OCTAVE_DEPRECATED (10,
"use isfinite instead")
99OCTAVE_DEPRECATED (10,
"use isinf instead")
102OCTAVE_DEPRECATED (10,
"use signbit instead")
105OCTAVE_DEPRECATED (10,
"use isnan instead")
107OCTAVE_DEPRECATED (10,
"use isfinite instead")
109OCTAVE_DEPRECATED (10,
"use isinf instead")
112OCTAVE_DEPRECATED (10,
"use signbit instead")
128#if defined (__cplusplus)
132#define lo_ieee_isnan(x) \
133 (sizeof (x) == sizeof (float) \
134 ? __lo_ieee_float_isnan (x) : __lo_ieee_isnan (x))
136#define lo_ieee_isfinite(x) \
137 (sizeof (x) == sizeof (float) \
138 ? __lo_ieee_float_isfinite (x) : __lo_ieee_isfinite (x))
140#define lo_ieee_isinf(x) \
141 (sizeof (x) == sizeof (float) \
142 ? __lo_ieee_float_isinf (x) : __lo_ieee_isinf (x))
144#define lo_ieee_is_NA(x) \
145 (sizeof (x) == sizeof (float) \
146 ? __lo_ieee_float_is_NA (x) : __lo_ieee_is_NA (x))
148#define lo_ieee_signbit(x) \
149 (sizeof (x) == sizeof (float) \
150 ? __lo_ieee_float_signbit (x) : __lo_ieee_signbit (x))
152#if defined (__cplusplus)
160 static T NA () {
return static_cast<T
> (0); }
161 static T
NaN () {
return static_cast<T
> (0); }
162 static T
Inf () {
return static_cast<T
> (0); }
166struct numeric_limits<
double>
169 static double NA () {
return octave_NA; }
175struct numeric_limits<
float>
183OCTAVE_END_NAMESPACE(octave)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
double lo_ieee_inf_value(void)
double lo_ieee_na_value(void)
float lo_ieee_float_inf_value(void)
int __lo_ieee_signbit(double x)
void octave_ieee_init(void)
int __lo_ieee_isfinite(double x)
int __lo_ieee_isinf(double x)
int __lo_ieee_float_isinf(float x)
int __lo_ieee_float_signbit(float x)
double lo_ieee_nan_value(void)
int __lo_ieee_float_isfinite(float x)
int __lo_ieee_float_is_NA(float)
float lo_ieee_float_na_value(void)
float lo_ieee_float_nan_value(void)
int __lo_ieee_float_isnan(float x)
int __lo_ieee_isnan(double x)
int __lo_ieee_is_NA(double)
F77_RET_T const F77_DBLE * x