43     uint32_t s = ((i>>16) & 0x8000);
 
   44     int32_t e = ((i>>13) & 0x3fc00) - 0x1c000;
 
   48         union { uint32_t i; 
float f; } u;
 
   50         return (uint16_t)(s|int(fabs(u.f)*1.6777216e7 + .5));
 
   55         return (uint16_t)(s|0x7c00|((i&0x7fffff)>>13));
 
   58         return (uint16_t)(s|0x7c00);
 
static uint16_t fromFloat_except(uint32_t val)
Handle exceptional cases for half-to-float conversion. 
Half-precision floating-point type.