Something went wrong. Try again.
Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839
/* * fpclassify.c * * by Ian Ollmann * * Copyright (c) 2007, Apple Inc. All Rights Reserved. * * C99 implementation for __fpclassify function (called by FPCLASSIFY macro.) */ #include "math.h"#include <stdint.h>
int __fpclassify( double x ){ union{ double d; uint64_t u;}u = {x};
uint32_t exp = (uint32_t) ( (u.u & 0x7fffffffffffffffULL) >> 52 );
if( 0 == exp ) { if( u.u & 0x000fffffffffffffULL ) return FP_SUBNORMAL; return FP_ZERO; }
if( 0x7ff == exp ) { if( u.u & 0x000fffffffffffffULL ) return FP_NAN;
return FP_INFINITE; }
return FP_NORMAL;}