forked from KolibriOS/kolibrios
set default newlib dir's structure
git-svn-id: svn://kolibrios.org@4874 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
31
contrib/sdk/sources/newlib/libc/math/s_fpclassify.c
Normal file
31
contrib/sdk/sources/newlib/libc/math/s_fpclassify.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/* Copyright (C) 2002, 2007 by Red Hat, Incorporated. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software
|
||||
* is freely granted, provided that this notice is preserved.
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
int
|
||||
__fpclassifyd (double x)
|
||||
{
|
||||
__uint32_t msw, lsw;
|
||||
|
||||
EXTRACT_WORDS(msw,lsw,x);
|
||||
|
||||
if ((msw == 0x00000000 && lsw == 0x00000000) ||
|
||||
(msw == 0x80000000 && lsw == 0x00000000))
|
||||
return FP_ZERO;
|
||||
else if ((msw >= 0x00100000 && msw <= 0x7fefffff) ||
|
||||
(msw >= 0x80100000 && msw <= 0xffefffff))
|
||||
return FP_NORMAL;
|
||||
else if ((msw >= 0x00000000 && msw <= 0x000fffff) ||
|
||||
(msw >= 0x80000000 && msw <= 0x800fffff))
|
||||
/* zero is already handled above */
|
||||
return FP_SUBNORMAL;
|
||||
else if ((msw == 0x7ff00000 && lsw == 0x00000000) ||
|
||||
(msw == 0xfff00000 && lsw == 0x00000000))
|
||||
return FP_INFINITE;
|
||||
else
|
||||
return FP_NAN;
|
||||
}
|
Reference in New Issue
Block a user