qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] softfloat: export float32_nan and float32_infinity.


From: Christophe Lyon
Subject: [Qemu-devel] [PATCH] softfloat: export float32_nan and float32_infinity.
Date: Mon, 14 Feb 2011 17:47:52 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7

These two special values are needed to implement some helper functions, which 
return these values in some cases.

Signed-off-by: Christophe Lyon <address@hidden>
---
 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]