gbdk-releases/sdcc/device/lib/_fs2slong.c
2015-01-10 16:25:09 +01:00

19 lines
289 B
C

#include <limits.h>
/* convert float to signed long */
signed long __fs2slong (float f) {
if (!f)
return 0;
if (f<0) {
if (f<=LONG_MIN)
return LONG_MIN;
return -__fs2ulong(-f);
} else {
if (f>=LONG_MAX)
return LONG_MAX;
return __fs2ulong(f);
}
}