Laurence W Reeves wrote:
>> PRINT FLOAT$(-32768/1) gives $0810 C000 0000
> You've detected the cause of the bug! SMSQ/E has allowed a unnormalised
> value to get on the stack.

True. I found the following line in the code:

[...]
        cmp.l   #$c000000,d1             ; funny value?
[...]

So there is actually code for this special case. But notice how the
comparison value is only 7 digits? Easy to overlook...

Another thing discovered: I was already suspicious why QPC came to the
same result like the other platforms, seeing that QPC should use the
hardware FPU for this purpose. Turns out I broke the code in SMSQ/E
3.13 and as it uses the normal code as fallback it went unnoticed.
Next release should have much faster floating point code again (at
least 4 times as fast).

Marcel

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to