mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-06-12 13:29:29 +00:00
37 lines
460 B
C
37 lines
460 B
C
void test(long double val, int *eval)
|
|
{
|
|
long double tmp = 1.0l;
|
|
int i = 0;
|
|
|
|
if (val < 0.0l)
|
|
val = -val;
|
|
|
|
if (val >= tmp)
|
|
while (tmp < val)
|
|
{
|
|
tmp *= 2.0l;
|
|
if (i++ >= 10)
|
|
abort ();
|
|
}
|
|
else if (val != 0.0l)
|
|
while (val < tmp)
|
|
{
|
|
tmp /= 2.0l;
|
|
if (i++ >= 10)
|
|
abort ();
|
|
}
|
|
|
|
*eval = i;
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
int eval;
|
|
|
|
test(3.0, &eval);
|
|
test(3.5, &eval);
|
|
test(4.0, &eval);
|
|
test(5.0, &eval);
|
|
exit (0);
|
|
}
|