Fast integers, characters and pointer types for use in many parts of GHC
- type FastInt = Int#
- _ILIT :: Int -> FastInt
- iBox :: FastInt -> Int
- iUnbox :: Int -> FastInt
- (+#) :: Int# -> Int# -> Int#
- (-#) :: Int# -> Int# -> Int#
- (*#) :: Int# -> Int# -> Int#
- quotFastInt :: FastInt -> FastInt -> FastInt
- negateFastInt :: FastInt -> FastInt
- (==#) :: Int# -> Int# -> Bool
- (/=#) :: Int# -> Int# -> Bool
- (<#) :: Int# -> Int# -> Bool
- (<=#) :: Int# -> Int# -> Bool
- (>=#) :: Int# -> Int# -> Bool
- (>#) :: Int# -> Int# -> Bool
- minFastInt, maxFastInt :: FastInt -> FastInt -> FastInt
- shiftLFastInt, shiftRLFastInt, shiftRAFastInt, shiftR_FastInt :: FastInt -> FastInt -> FastInt
- bitAndFastInt, bitOrFastInt :: FastInt -> FastInt -> FastInt
- type FastChar = Char#
- _CLIT :: Char -> FastChar
- cBox :: FastChar -> Char
- cUnbox :: Char -> FastChar
- fastOrd :: FastChar -> FastInt
- fastChr :: FastInt -> FastChar
- eqFastChar :: FastChar -> FastChar -> Bool
- type FastPtr a = Addr#
- pBox :: FastPtr a -> Ptr a
- pUnbox :: Ptr a -> FastPtr a
- castFastPtr :: FastPtr a -> FastPtr b
FastInt
Getting in and out of FastInt
Arithmetic on FastInt
(+#) :: Int# -> Int# -> Int#
(-#) :: Int# -> Int# -> Int#
(*#) :: Int# -> Int# -> Int#
quotFastInt :: FastInt -> FastInt -> FastIntSource
minFastInt, maxFastInt :: FastInt -> FastInt -> FastIntSource
shiftLFastInt, shiftRLFastInt, shiftRAFastInt, shiftR_FastInt :: FastInt -> FastInt -> FastIntSource
bitAndFastInt, bitOrFastInt :: FastInt -> FastInt -> FastIntSource
FastChar
Getting in and out of FastChar
Operations on FastChar
eqFastChar :: FastChar -> FastChar -> BoolSource
FastPtr
Getting in and out of FastPtr
Casting FastPtrs
castFastPtr :: FastPtr a -> FastPtr bSource