X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fprelude%2Fprimops.txt.pp;h=335a717d45818ddd61fbed6fbea5f4948ea18b05;hb=74994950890326278d083f87f2507a898178a38e;hp=ffa7c56bc43ba85de8cad4b139ad810b8bdf53de;hpb=f5a9105036f8903520178dcb322a0b6ecbdc866f;p=ghc-hetmet.git diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index ffa7c56..335a717 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -545,6 +545,10 @@ primop DoubleDivOp "/##" Dyadic primop DoubleNegOp "negateDouble#" Monadic Double# -> Double# primop Double2IntOp "double2Int#" GenPrimOp Double# -> Int# + {Truncates a {\tt Double#} value to the nearest {\tt Int#}. + Results are undefined if the truncation if truncation yields + a value outside the range of {\tt Int#}.} + primop Double2FloatOp "double2Float#" GenPrimOp Double# -> Float# primop DoubleExpOp "expDouble#" Monadic @@ -652,6 +656,9 @@ primop FloatDivOp "divideFloat#" Dyadic primop FloatNegOp "negateFloat#" Monadic Float# -> Float# primop Float2IntOp "float2Int#" GenPrimOp Float# -> Int# + {Truncates a {\tt Float#} value to the nearest {\tt Int#}. + Results are undefined if the truncation if truncation yields + a value outside the range of {\tt Int#}.} primop FloatExpOp "expFloat#" Monadic Float# -> Float# @@ -1788,7 +1795,7 @@ pseudoop "unsafeCoerce#" known to be empty. Also, a {\tt newtype} of a type {\tt T} has the same representation at runtime as {\tt T}. - Other uses of {\tt unsafeCoerce#} are undefined. + Other uses of {\tt unsafeCoerce\#} are undefined. } -- NB. It is tempting to think that casting a value to a type that it doesn't have is safe