1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
/*
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
Developed at SunPro, a Sun Microsystems, Inc. business.
Permission to use, copy, modify, and distribute this
software is freely granted, provided that this notice
is preserved.
*/
/*
* __isinfd(x) returns 1 if x is infinity, else 0;
* no branching!
* Added by Cygnus Support.
*/
#define __isinf __isinfd
#include "fdlibm.h"
#ifdef _NEED_FLOAT64
int
__isinf64 (__float64 x)
{
__int32_t hx,lx;
EXTRACT_WORDS(hx,lx,x);
hx &= 0x7fffffff;
hx |= (__uint32_t)(lx|(-lx))>>31;
hx = 0x7ff00000 - hx;
return 1 - (int)((__uint32_t)(hx|(-hx))>>31);
}
_MATH_ALIAS_i_d(__isinf)
#endif /* _NEED_FLOAT64 */
|