Okay, here's the decree.

FP constants in the bytecode file constants section will be 64-bit IEEE floats.

The Q&A as to why. (This'll be a new feature for all the declarations of 
arbitrary decisions)
-----------------------------------------------------------------
Q: Why?
A: Gotta have something

Q: Why 64-bit IEEE?
A: Pretty much everyone's got them, and if they don't they can fake it.

Q: What about endianness?
A: Native endianness. Byteswapping's easy enough.

Q: Why not bigger?
A: Not everyone's got bigger

Q: They can use bignums!
A: No they can't. FP numbers are base 2, bignums aren't. Conversion's not 
lossless

Q: Then truncate the numbers!
A: Right. Chop 10.3e+100 to 10.3e+38? Don't think so.

Q: But, but, but...
A: Listen, FP numbers are for shortcuts and constants that get stuffed in N 
registers. Most things will be using PMC variables, in which case 
conversion's expected.

Q: But what about the integer constants?
A: Those are capped at 32-bits. I don't think you want to use them as a 
counter-example.


                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to