32 #ifdef POK_NEEDS_LIBMATH
35 #include "math_private.h"
38 two25 = 3.355443200e+07,
39 twom25 = 2.9802322388e-08,
44 scalbnf(
float x,
int n)
48 k = (ix&0x7f800000)>>23;
50 if ((ix&0x7fffffff)==0)
return x;
53 k = ((ix&0x7f800000)>>23) - 25;
54 if (n< -50000)
return tiny*x;
56 if (k==0xff)
return x+x;
58 if (k > 0xfe)
return huge*copysignf(huge,x);
60 {SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23));
return x;}
63 return huge*copysignf(huge,x);
64 else return tiny*copysignf(tiny,x);
67 SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23));