19 lines
497 B
C
19 lines
497 B
C
|
/* Public domain. */
|
||
|
typedef unsigned int USItype __attribute__ ((mode (SI)));
|
||
|
typedef int SItype __attribute__ ((mode (SI)));
|
||
|
typedef float SFtype __attribute__ ((mode (SF)));
|
||
|
typedef float DFtype __attribute__ ((mode (DF)));
|
||
|
|
||
|
USItype __fixunsdfsi (DFtype);
|
||
|
|
||
|
#define SItype_MIN \
|
||
|
(- ((SItype) (((USItype) 1 << ((sizeof (SItype) * 8) - 1)) - 1)) - 1)
|
||
|
|
||
|
USItype
|
||
|
__fixunsdfsi (DFtype a)
|
||
|
{
|
||
|
if (a >= - (DFtype) SItype_MIN)
|
||
|
return (SItype) (a + SItype_MIN) - SItype_MIN;
|
||
|
return (SItype) a;
|
||
|
}
|