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