11 #include "simpletext.h" 14 #define S_ISNAN(x) (x != x) 17 #define S_ISINF(x) (x != 0.0 && x + x == x) 20 char* float2string(
float f,
char *s,
int ccount,
int digits)
48 if(((
int)f) & 0x80000000)
57 digits = (digits > clamp) ? clamp : digits;
81 for(ctr = 0; ctr <= reps; ctr++)
94 for ( ; scale >= 1.0; scale /= 10.0)
101 for ( ; scale >= 1.0; scale /= 10.0)
104 f -= ((float)c*scale);
112 offset = ccount - j - digits - 1;
138 if(digits>0) s[j++] =
'.';
145 s[j++] = (char)f +
'0';
154 for( ; (j >= 0); j--)
156 if((s[j] <
'0')||(s[j] >
'9'))
continue;
174 char* float2string(
float f,
char *s,
int ccount,
int digits)
199 digits = (digits > clamp) ? clamp : digits;
223 for(ctr = 0; ctr <= reps; ctr++)
237 for ( ; scale >= 1.0; scale /= 10.0)
242 f -= ((float)c*scale);
255 offset = ccount - j - digits - 1;
281 if(digits>0) s[j++] =
'.';
288 s[j++] = (char)f +
'0';
297 for( ; (j >= 0); j--)
299 if((s[j] <
'0')||(s[j] >
'9'))
continue;