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