mirror of https://git.musl-libc.org/git/musl
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
372 B
17 lines
372 B
|
15 years ago
|
#include <stdint.h>
|
||
|
|
#include <math.h>
|
||
|
|
|
||
|
|
/* FIXME: move this to arch-specific file */
|
||
|
|
int __fpclassifyl(long double __x)
|
||
|
|
{
|
||
|
|
union {
|
||
|
|
long double __ld;
|
||
|
|
__uint16_t __hw[5];
|
||
|
|
__uint64_t __m;
|
||
|
|
} __y = { __x };
|
||
|
|
int __ee = __y.__hw[4]&0x7fff;
|
||
|
|
if (!__ee) return __y.__m ? FP_SUBNORMAL : FP_ZERO;
|
||
|
|
if (__ee==0x7fff) return __y.__m ? FP_NAN : FP_INFINITE;
|
||
|
|
return FP_NORMAL;
|
||
|
|
}
|