GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
lo-ieee.h File Reference
#include <cmath>
#include "octave-config.h"
Include dependency graph for lo-ieee.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  lo_ieee_double
 
union  lo_ieee_float
 

Macros

#define lo_ieee_finite(x)
 
#define lo_ieee_is_NA(x)
 
#define lo_ieee_is_NaN_or_NA(x)
 
#define lo_ieee_isinf(x)
 
#define lo_ieee_isnan(x)
 
#define LO_IEEE_NA_FLOAT   0x7FC207A2
 
#define LO_IEEE_NA_HW   0x7FF840F4
 
#define LO_IEEE_NA_HW_OLD   0x7ff00000
 
#define LO_IEEE_NA_LW   0x40000000
 
#define LO_IEEE_NA_LW_OLD   1954
 
#define lo_ieee_signbit(x)
 
#define octave_Float_Inf   (lo_ieee_float_inf_value ())
 
#define octave_Float_NA   (lo_ieee_float_na_value ())
 
#define octave_Float_NaN   (lo_ieee_float_nan_value ())
 
#define octave_Inf   (lo_ieee_inf_value ())
 
#define octave_NA   (lo_ieee_na_value ())
 
#define octave_NaN   (lo_ieee_nan_value ())
 

Functions

int __lo_ieee_finite (double x)
 
int __lo_ieee_float_finite (float x)
 
OCTAVE_API int __lo_ieee_float_is_NA (float)
 
int __lo_ieee_float_isinf (float x)
 
int __lo_ieee_float_isnan (float x)
 
int __lo_ieee_float_signbit (float x)
 
OCTAVE_API int __lo_ieee_is_NA (double)
 
OCTAVE_API int __lo_ieee_is_old_NA (double)
 
int __lo_ieee_isinf (double x)
 
int __lo_ieee_isnan (double x)
 
OCTAVE_API double __lo_ieee_replace_old_NA (double)
 
int __lo_ieee_signbit (double x)
 
OCTAVE_API float lo_ieee_float_inf_value (void)
 
OCTAVE_API float lo_ieee_float_na_value (void)
 
OCTAVE_API float lo_ieee_float_nan_value (void)
 
OCTAVE_API double lo_ieee_inf_value (void)
 
OCTAVE_API double lo_ieee_na_value (void)
 
OCTAVE_API double lo_ieee_nan_value (void)
 
OCTAVE_API void octave_ieee_init (void)
 

Macro Definition Documentation

◆ lo_ieee_finite

#define lo_ieee_finite (   x)
Value:
(sizeof (x) == sizeof (float) \
int __lo_ieee_finite(double x)
Definition: lo-ieee.h:76
int __lo_ieee_float_finite(float x)
Definition: lo-ieee.h:90
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 const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 109 of file lo-ieee.h.

Referenced by mxIsFinite().

◆ lo_ieee_is_NA

#define lo_ieee_is_NA (   x)
Value:
(sizeof (x) == sizeof (float) \
OCTAVE_API int __lo_ieee_is_NA(double)
Definition: lo-ieee.cc:48
OCTAVE_API int __lo_ieee_float_is_NA(float)
Definition: lo-ieee.cc:99
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 const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 117 of file lo-ieee.h.

Referenced by octave::base_stream::do_numeric_printf_conv(), octave::math::isna(), octave_write_double(), and octave_write_float().

◆ lo_ieee_is_NaN_or_NA

#define lo_ieee_is_NaN_or_NA (   x)
Value:
(sizeof (x) == sizeof (float) \
? __lo_ieee_float_is_NaN_or_NA (x) : __lo_ieee_is_NaN_or_NA (x))
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 const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 121 of file lo-ieee.h.

◆ lo_ieee_isinf

#define lo_ieee_isinf (   x)
Value:
(sizeof (x) == sizeof (float) \
int __lo_ieee_float_isinf(float x)
Definition: lo-ieee.h:91
int __lo_ieee_isinf(double x)
Definition: lo-ieee.h:77
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 const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 113 of file lo-ieee.h.

Referenced by octave::base_stream::do_numeric_printf_conv(), matrix_norm(), mxIsInf(), octave_write_double(), octave_write_float(), and svd_matrix_norm().

◆ lo_ieee_isnan

#define lo_ieee_isnan (   x)
Value:
(sizeof (x) == sizeof (float) \
int __lo_ieee_isnan(double x)
Definition: lo-ieee.h:75
int __lo_ieee_float_isnan(float x)
Definition: lo-ieee.h:89
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 const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 105 of file lo-ieee.h.

Referenced by octave_float_complex::any(), octave_scalar::any(), octave_float_scalar::any(), octave_complex::any(), octave::convert_to_valid_int(), octave::get_size(), mxIsNaN(), octave_write_double(), and octave_write_float().

◆ LO_IEEE_NA_FLOAT

#define LO_IEEE_NA_FLOAT   0x7FC207A2

Definition at line 71 of file lo-ieee.h.

Referenced by __lo_ieee_float_is_NA(), and octave_ieee_init().

◆ LO_IEEE_NA_HW

#define LO_IEEE_NA_HW   0x7FF840F4

Definition at line 69 of file lo-ieee.h.

Referenced by __lo_ieee_is_NA(), and octave_ieee_init().

◆ LO_IEEE_NA_HW_OLD

#define LO_IEEE_NA_HW_OLD   0x7ff00000

Definition at line 67 of file lo-ieee.h.

Referenced by __lo_ieee_is_old_NA().

◆ LO_IEEE_NA_LW

#define LO_IEEE_NA_LW   0x40000000

Definition at line 70 of file lo-ieee.h.

Referenced by __lo_ieee_is_NA(), and octave_ieee_init().

◆ LO_IEEE_NA_LW_OLD

#define LO_IEEE_NA_LW_OLD   1954

Definition at line 68 of file lo-ieee.h.

Referenced by __lo_ieee_is_old_NA().

◆ lo_ieee_signbit

#define lo_ieee_signbit (   x)
Value:
(sizeof (x) == sizeof (float) \
int __lo_ieee_signbit(double x)
Definition: lo-ieee.h:87
int __lo_ieee_float_signbit(float x)
Definition: lo-ieee.h:99
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 const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 125 of file lo-ieee.h.

Referenced by SparseMatrix::any_element_is_negative(), and pr_float().

◆ octave_Float_Inf

#define octave_Float_Inf   (lo_ieee_float_inf_value ())

Definition at line 44 of file lo-ieee.h.

◆ octave_Float_NA

#define octave_Float_NA   (lo_ieee_float_na_value ())

Definition at line 47 of file lo-ieee.h.

◆ octave_Float_NaN

#define octave_Float_NaN   (lo_ieee_float_nan_value ())

Definition at line 50 of file lo-ieee.h.

◆ octave_Inf

#define octave_Inf   (lo_ieee_inf_value ())

Definition at line 35 of file lo-ieee.h.

◆ octave_NA

#define octave_NA   (lo_ieee_na_value ())

Definition at line 38 of file lo-ieee.h.

Referenced by G__glpk__(), lin_interpn(), and single_num().

◆ octave_NaN

#define octave_NaN   (lo_ieee_nan_value ())

Definition at line 41 of file lo-ieee.h.

Function Documentation

◆ __lo_ieee_finite()

int __lo_ieee_finite ( double  x)
inline

Definition at line 76 of file lo-ieee.h.

References octave::math::isfinite(), and x.

◆ __lo_ieee_float_finite()

int __lo_ieee_float_finite ( float  x)
inline

Definition at line 90 of file lo-ieee.h.

References octave::math::isfinite(), and x.

◆ __lo_ieee_float_is_NA()

OCTAVE_API int __lo_ieee_float_is_NA ( float  )

Definition at line 99 of file lo-ieee.cc.

References __lo_ieee_float_isnan(), LO_IEEE_NA_FLOAT, t, and x.

◆ __lo_ieee_float_isinf()

int __lo_ieee_float_isinf ( float  x)
inline

Definition at line 91 of file lo-ieee.h.

References octave::math::isinf(), and x.

◆ __lo_ieee_float_isnan()

int __lo_ieee_float_isnan ( float  x)
inline

Definition at line 89 of file lo-ieee.h.

References octave::math::isnan(), and x.

Referenced by __lo_ieee_float_is_NA().

◆ __lo_ieee_float_signbit()

int __lo_ieee_float_signbit ( float  x)
inline

Definition at line 99 of file lo-ieee.h.

References octave::math::signbit(), and x.

Referenced by octave::math::negative_sign().

◆ __lo_ieee_is_NA()

OCTAVE_API int __lo_ieee_is_NA ( double  )

Definition at line 48 of file lo-ieee.cc.

References __lo_ieee_isnan(), lo_ieee_hw, lo_ieee_lw, LO_IEEE_NA_HW, LO_IEEE_NA_LW, t, and x.

◆ __lo_ieee_is_old_NA()

OCTAVE_API int __lo_ieee_is_old_NA ( double  )

◆ __lo_ieee_isinf()

int __lo_ieee_isinf ( double  x)
inline

Definition at line 77 of file lo-ieee.h.

References octave::math::isinf(), and x.

◆ __lo_ieee_isnan()

int __lo_ieee_isnan ( double  x)
inline

Definition at line 75 of file lo-ieee.h.

References octave::math::isnan(), and x.

Referenced by __lo_ieee_is_NA(), and __lo_ieee_is_old_NA().

◆ __lo_ieee_replace_old_NA()

OCTAVE_API double __lo_ieee_replace_old_NA ( double  )

Definition at line 66 of file lo-ieee.cc.

References __lo_ieee_is_old_NA(), lo_ieee_na_value(), and x.

Referenced by read_doubles(), and octave::replace_old_NA< double >().

◆ __lo_ieee_signbit()

int __lo_ieee_signbit ( double  x)
inline

Definition at line 87 of file lo-ieee.h.

References octave::math::signbit(), and x.

Referenced by octave::math::negative_sign().

◆ lo_ieee_float_inf_value()

OCTAVE_API float lo_ieee_float_inf_value ( void  )

Definition at line 107 of file lo-ieee.cc.

References lo_float_inf, and octave_ieee_init().

◆ lo_ieee_float_na_value()

OCTAVE_API float lo_ieee_float_na_value ( void  )

Definition at line 115 of file lo-ieee.cc.

References lo_float_na, and octave_ieee_init().

◆ lo_ieee_float_nan_value()

◆ lo_ieee_inf_value()

OCTAVE_API double lo_ieee_inf_value ( void  )

Definition at line 75 of file lo-ieee.cc.

References lo_inf, and octave_ieee_init().

Referenced by mxGetInf().

◆ lo_ieee_na_value()

OCTAVE_API double lo_ieee_na_value ( void  )

Definition at line 83 of file lo-ieee.cc.

References lo_na, and octave_ieee_init().

Referenced by __lo_ieee_replace_old_NA().

◆ lo_ieee_nan_value()

OCTAVE_API double lo_ieee_nan_value ( void  )

◆ octave_ieee_init()