Sign in
cobalt
/
cobalt
/
cf191b148f6a83454a62c5b73e5db05ad9cd362b
/
.
/
third_party
/
musl
/
src
/
math
/
__fpclassifyf.c
blob: fd00eb1bcdc62e08c2ed1c8bdb8ac09dce3d0b52 [
file
] [
log
] [
blame
]
#include
<math.h>
#include
<stdint.h>
int
__fpclassifyf
(
float
x
)
{
union
{
float
f
;
uint32_t
i
;}
u
=
{
x
};
int
e
=
u
.
i
>>
23
&
0xff
;
if
(!
e
)
return
u
.
i
<<
1
?
FP_SUBNORMAL
:
FP_ZERO
;
if
(
e
==
0xff
)
return
u
.
i
<<
9
?
FP_NAN
:
FP_INFINITE
;
return
FP_NORMAL
;
}