% -----------------------------------------------------------------------------
-% $Id: PrelBase.lhs,v 1.43 2001/03/01 09:23:40 qrczak Exp $
+% $Id: PrelBase.lhs,v 1.44 2001/04/03 15:05:52 simonmar Exp $
%
% (c) The University of Glasgow, 1992-2000
%
(I# x) `ltInt` (I# y) = x <# y
(I# x) `leInt` (I# y) = x <=# y
+#if WORD_SIZE_IN_BYTES == 4
+{-# RULES
+"intToInt32#" forall x#. intToInt32# x# = x#
+"wordToWord32#" forall x#. wordToWord32# x# = x#
+ #-}
+#endif
+
{-# RULES
"int2Word2Int" forall x#. int2Word# (word2Int# x#) = x#
"word2Int2Word" forall x#. word2Int# (int2Word# x#) = x#
data Int32 = I32# Int# deriving (Eq, Ord)
-#if WORD_SIZE_IN_BYTES == 4
-{-# RULES "intToInt32#" forall x#. intToInt32# x# = x# #-}
-#endif
-
instance CCallable Int32
instance CReturnable Int32
data Word32 = W32# Word# deriving (Eq, Ord)
-#if WORD_SIZE_IN_BYTES == 4
-{-# RULES "wordToWord32#" forall x#. wordToWord32# x# = x# #-}
-#endif
-
instance CCallable Word32
instance CReturnable Word32