with out_of_line = True
primop DoubleDecode_2IntOp "decodeDouble_2Int#" GenPrimOp
- Double# -> (# Int#, Int#, Int# #)
+ Double# -> (# Int#, Word#, Word#, Int# #)
{Convert to arbitrary-precision integer.
- First {\tt Int\#} in result is the high 32 bits of the mantissa, and the
- second is the low 32. The third is the exponent.}
+ First component of the result is -1 or 1, indicating the sign of the
+ mantissa. The next two are the high and low 32 bits of the mantissa
+ respectively, and the last is the exponent.}
with out_of_line = True
------------------------------------------------------------------------
* Casting {\tt Any} back to the real type
* Casting an unboxed type to another unboxed type of the same size
+ (but not coercions between floating-point and integral types)
* Casting between two types that have the same runtime representation. One case is when
the two types differ only in "phantom" type parameters, for example