1208737Sjmallett/* Public domain. */ 2208737Sjmalletttypedef unsigned int USItype __attribute__ ((mode (SI))); 3208737Sjmalletttypedef int SItype __attribute__ ((mode (SI))); 4208737Sjmalletttypedef float SFtype __attribute__ ((mode (SF))); 5208737Sjmallett 6208737SjmallettUSItype __fixunssfsi (SFtype); 7208737Sjmallett 8208737Sjmallett#define SItype_MIN \ 9208737Sjmallett (- ((SItype) (((USItype) 1 << ((sizeof (SItype) * 8) - 1)) - 1)) - 1) 10208737Sjmallett 11208737SjmallettUSItype 12208737Sjmallett__fixunssfsi (SFtype a) 13208737Sjmallett{ 14208737Sjmallett if (a >= - (SFtype) SItype_MIN) 15208737Sjmallett return (SItype) (a + SItype_MIN) - SItype_MIN; 16208737Sjmallett return (SItype) a; 17208737Sjmallett} 18