Custom float type ?
I'm thinking about creating a custom floating point data type in spin2 for the propeller2 processor.
The propeller2 has built in hardware 32 bit integer multiplication and division routines.
Spin2 already has ieee single precision floating point, but it reduces the mantissa precision so that the sign, mantissa, and exponent can all be stored in a single 32 bit long. I would like to make a double long type that stores the mantissa in the first 32 bit long, and the sign, exponent and nan stuff in the second 32 bit long. This would give the mantissa the full 32 bit precision that is afforded by the math hardware functionality...
Storing the sign in the second long would give 33 effective bits?
The new structure feature may make this look cleaner...

Comments
That would get you a dynamic range of
2^(2^31)≈10^646456993, which is unquestionably overkill for any sane application, considering that the volume of the universe is only 10^185 Planck volumes. Even the dynamic range of a native 32-bit fixed-point number without the runtime-adjustable exponent used in floating point is overkill for most applications - are you sure you can't just drop your second exponent long and use 32-bit fixed-point math?Yeah, even extended (80-bit) floats are still only 16-bit exponent.