These two special values are needed to implement some helper functions, which return these values in some cases.
Signed-off-by: Christophe Lyon <christophe.l...@st.com> --- fpu/softfloat-specialize.h | 9 +++++++++ fpu/softfloat.h | 2 ++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/fpu/softfloat-specialize.h b/fpu/softfloat-specialize.h index 2d025bf..d5d8c63 100644 --- a/fpu/softfloat-specialize.h +++ b/fpu/softfloat-specialize.h @@ -201,6 +201,15 @@ int float32_is_signaling_nan( float32 a_ ) } /*---------------------------------------------------------------------------- +| Returns the default NaN. +*----------------------------------------------------------------------------*/ + +float32 float32_nan(void) +{ + return float32_default_nan; +} + +/*---------------------------------------------------------------------------- | Returns a quiet NaN if the single-precision floating point value `a' is a | signaling NaN; otherwise returns `a'. *----------------------------------------------------------------------------*/ diff --git a/fpu/softfloat.h b/fpu/softfloat.h index e57ee1e..610f245 100644 --- a/fpu/softfloat.h +++ b/fpu/softfloat.h @@ -319,6 +319,7 @@ int float32_compare_quiet( float32, float32 STATUS_PARAM ); int float32_is_quiet_nan( float32 ); int float32_is_signaling_nan( float32 ); float32 float32_maybe_silence_nan( float32 ); +float32 float32_nan(void); float32 float32_scalbn( float32, int STATUS_PARAM ); INLINE float32 float32_abs(float32 a) @@ -365,6 +366,7 @@ INLINE int float32_is_zero_or_denormal(float32 a) #define float32_zero make_float32(0) #define float32_one make_float32(0x3f800000) #define float32_ln2 make_float32(0x3f317218) +#define float32_infinity make_float32(0x7f800000) /*---------------------------------------------------------------------------- | Software IEC/IEEE double-precision conversion routines. -- 1.7.2.3