1*1debfc3dSmrg /* Public domain. */ 2*1debfc3dSmrg typedef int SItype __attribute__ ((mode (SI))); 3*1debfc3dSmrg typedef unsigned int USItype __attribute__ ((mode (SI))); 4*1debfc3dSmrg typedef float TFtype __attribute__ ((mode (TF))); 5*1debfc3dSmrg 6*1debfc3dSmrg TFtype __floatunsitf(USItype u)7*1debfc3dSmrg__floatunsitf (USItype u) 8*1debfc3dSmrg { 9*1debfc3dSmrg SItype s = (SItype) u; 10*1debfc3dSmrg TFtype r = (TFtype) s; 11*1debfc3dSmrg if (s < 0) 12*1debfc3dSmrg r += (TFtype)2.0 * (TFtype) ((USItype) 1 13*1debfc3dSmrg << (sizeof (USItype) * __CHAR_BIT__ - 1)); 14*1debfc3dSmrg return r; 15*1debfc3dSmrg } 16