sqrt interpreter Q
Thu Feb 7 20:33:00 GMT 2002
>>>>> "Andreas" == Andreas Tobler <email@example.com> writes:
Andreas> Doing it with gij I get the following:
Andreas> [titanium:~] andreast% gij my_sqrt
Andreas> sqrt_int: -2147483648
Andreas> sqrt_double: NaN
Andreas> sqrt_long: -9223372034707292160
I looked at this a bit.
On x86 the appended program prints the `int' value.
So I think the C++ compiler translates `(int) NaN' differently from
the Java compiler.
I haven't looked into it more deeply than this. It does suggest that
the f2* and d2* instructions in the interpreter might need to be
modified to handle the special cases.
Are you interested in researching this a bit more?
int main ()
double d = -1;
int l = (int) (sqrt (d));
printf ("%d\n", l);
More information about the Java