提交 629bd74a 编写于 作者: A aurel32

softfloat-native: add float32_is_nan()

Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6002 c046a42c-6fe2-441c-8c8c-71466251a162
上级 3f911a51
...@@ -250,6 +250,15 @@ int float32_is_signaling_nan( float32 a1) ...@@ -250,6 +250,15 @@ int float32_is_signaling_nan( float32 a1)
return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF ); return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF );
} }
int float32_is_nan( float32 a1 )
{
float32u u;
uint64_t a;
u.f = a1;
a = u.i;
return ( 0xFF800000 < ( a<<1 ) );
}
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
| Software IEC/IEEE double-precision conversion routines. | Software IEC/IEEE double-precision conversion routines.
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
......
...@@ -246,6 +246,7 @@ INLINE int float32_unordered( float32 a, float32 b STATUS_PARAM) ...@@ -246,6 +246,7 @@ INLINE int float32_unordered( float32 a, float32 b STATUS_PARAM)
int float32_compare( float32, float32 STATUS_PARAM ); int float32_compare( float32, float32 STATUS_PARAM );
int float32_compare_quiet( float32, float32 STATUS_PARAM ); int float32_compare_quiet( float32, float32 STATUS_PARAM );
int float32_is_signaling_nan( float32 ); int float32_is_signaling_nan( float32 );
int float32_is_nan( float32 );
INLINE float32 float32_abs(float32 a) INLINE float32 float32_abs(float32 a)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册