forked from KolibriOS/kolibrios
upload sdk
git-svn-id: svn://kolibrios.org@4349 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
37
contrib/sdk/sources/newlib/math/sf_isinf.c
Normal file
37
contrib/sdk/sources/newlib/math/sf_isinf.c
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* isinff(x) returns 1 if x is +-infinity, else 0;
|
||||
*
|
||||
* isinf is a <math.h> macro in the C99 standard. It was previously
|
||||
* implemented as isinf and isinff functions by newlib and are still declared
|
||||
* as such in <ieeefp.h>. Newlib supplies it here as a function if the user
|
||||
* chooses to use <ieeefp.h> or needs to link older code compiled with the
|
||||
* previous <math.h> declaration.
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
#include <ieeefp.h>
|
||||
|
||||
#undef isinff
|
||||
|
||||
int
|
||||
_DEFUN (isinff, (x),
|
||||
float x)
|
||||
{
|
||||
__int32_t ix;
|
||||
GET_FLOAT_WORD(ix,x);
|
||||
ix &= 0x7fffffff;
|
||||
return FLT_UWORD_IS_INFINITE(ix);
|
||||
}
|
||||
|
||||
#ifdef _DOUBLE_IS_32BITS
|
||||
|
||||
#undef isinf
|
||||
|
||||
int
|
||||
_DEFUN (isinf, (x),
|
||||
double x)
|
||||
{
|
||||
return isinff((float) x);
|
||||
}
|
||||
|
||||
#endif /* defined(_DOUBLE_IS_32BITS) */
|
Reference in New Issue
Block a user