Dan~
I'm thinking now that multiplication of integers should upgrade to a float (which is large enough to hold the result with no loss of precision), division of integers should return a bignum (or a bigrat), and all float operations should produce floats. The destination PMC type can downconvert if it wants, so:
Pint = Pint / Pint
Are you sure that you mean
PInt * Pint -> Pfloat
or do you mean to say
PInt * Pint -> Pbigint
Bah, I was mis-thinking. I had it in my head that a float could hold the worst-case size of an int*int, but it can't. Bignum's the thing here, I think. Or either an int or bignum, depending on the size of the result. (No bigints. It's all bignums. We may do bigrats, but I doubt it)
--
Dan
--------------------------------------it's like this------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk