Safe Haskell | None |
---|---|
Language | Haskell2010 |
GHC.Integer
Description
Compatibility module for pre ghc-bignum code.
Synopsis
- data Integer
- smallInteger :: Int# -> Integer
- wordToInteger :: Word# -> Integer
- integerToWord :: Integer -> Word#
- integerToInt :: Integer -> Int#
- encodeFloatInteger :: Integer -> Int# -> Float#
- floatFromInteger :: Integer -> Float#
- encodeDoubleInteger :: Integer -> Int# -> Double#
- decodeDoubleInteger :: Double# -> (# Integer, Int# #)
- doubleFromInteger :: Integer -> Double#
- plusInteger :: Integer -> Integer -> Integer
- minusInteger :: Integer -> Integer -> Integer
- timesInteger :: Integer -> Integer -> Integer
- negateInteger :: Integer -> Integer
- absInteger :: Integer -> Integer
- signumInteger :: Integer -> Integer
- divModInteger :: Integer -> Integer -> (# Integer, Integer #)
- divInteger :: Integer -> Integer -> Integer
- modInteger :: Integer -> Integer -> Integer
- quotRemInteger :: Integer -> Integer -> (# Integer, Integer #)
- quotInteger :: Integer -> Integer -> Integer
- remInteger :: Integer -> Integer -> Integer
- eqInteger :: Integer -> Integer -> Bool
- neqInteger :: Integer -> Integer -> Bool
- leInteger :: Integer -> Integer -> Bool
- gtInteger :: Integer -> Integer -> Bool
- ltInteger :: Integer -> Integer -> Bool
- geInteger :: Integer -> Integer -> Bool
- compareInteger :: Integer -> Integer -> Ordering
- eqInteger# :: Integer -> Integer -> Int#
- neqInteger# :: Integer -> Integer -> Int#
- leInteger# :: Integer -> Integer -> Int#
- gtInteger# :: Integer -> Integer -> Int#
- ltInteger# :: Integer -> Integer -> Int#
- geInteger# :: Integer -> Integer -> Int#
- andInteger :: Integer -> Integer -> Integer
- orInteger :: Integer -> Integer -> Integer
- xorInteger :: Integer -> Integer -> Integer
- complementInteger :: Integer -> Integer
- shiftLInteger :: Integer -> Int# -> Integer
- shiftRInteger :: Integer -> Int# -> Integer
- testBitInteger :: Integer -> Int# -> Bool
- popCountInteger :: Integer -> Int#
- bitInteger :: Int# -> Integer
- hashInteger :: Integer -> Int#
Documentation
Arbitrary precision integers. In contrast with fixed-size integral types
such as Int
, the Integer
type represents the entire infinite range of
integers.
Integers are stored in a kind of sign-magnitude form, hence do not expect two's complement form when using bit operations.
If the value is small (fit into an Int
), IS
constructor is used.
Otherwise IP
and IN
constructors are used to store a BigNat
representing respectively the positive or the negative value magnitude.
Instances
Enum Integer # | Since: base-2.1 |
Eq Integer | |
Integral Integer # | Since: base-2.0.1 |
Defined in GHC.Real | |
Data Integer # | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Integer -> c Integer # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Integer # toConstr :: Integer -> Constr # dataTypeOf :: Integer -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Integer) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Integer) # gmapT :: (forall b. Data b => b -> b) -> Integer -> Integer # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Integer -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Integer -> r # gmapQ :: (forall d. Data d => d -> u) -> Integer -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Integer -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Integer -> m Integer # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Integer -> m Integer # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Integer -> m Integer # | |
Num Integer # | Since: base-2.1 |
Ord Integer | |
Read Integer # | Since: base-2.1 |
Real Integer # | Since: base-2.0.1 |
Defined in GHC.Real Methods toRational :: Integer -> Rational # | |
Show Integer # | Since: base-2.1 |
Ix Integer # | Since: base-2.1 |
Defined in GHC.Ix | |
Bits Integer # | Since: base-2.1 |
Defined in Data.Bits Methods (.&.) :: Integer -> Integer -> Integer # (.|.) :: Integer -> Integer -> Integer # xor :: Integer -> Integer -> Integer # complement :: Integer -> Integer # shift :: Integer -> Int -> Integer # rotate :: Integer -> Int -> Integer # setBit :: Integer -> Int -> Integer # clearBit :: Integer -> Int -> Integer # complementBit :: Integer -> Int -> Integer # testBit :: Integer -> Int -> Bool # bitSizeMaybe :: Integer -> Maybe Int # shiftL :: Integer -> Int -> Integer # unsafeShiftL :: Integer -> Int -> Integer # shiftR :: Integer -> Int -> Integer # unsafeShiftR :: Integer -> Int -> Integer # rotateL :: Integer -> Int -> Integer # | |
PrintfArg Integer # | Since: base-2.1 |
Defined in Text.Printf |
Construct Integer
s
smallInteger :: Int# -> Integer #
wordToInteger :: Word# -> Integer #
Conversion to other integral types
integerToWord :: Integer -> Word# #
integerToInt :: Integer -> Int# #
Helpers for RealFloat
type-class operations
encodeFloatInteger :: Integer -> Int# -> Float# #
floatFromInteger :: Integer -> Float# #
encodeDoubleInteger :: Integer -> Int# -> Double# #
decodeDoubleInteger :: Double# -> (# Integer, Int# #) #
doubleFromInteger :: Integer -> Double# #
Arithmetic operations
plusInteger :: Integer -> Integer -> Integer #
minusInteger :: Integer -> Integer -> Integer #
timesInteger :: Integer -> Integer -> Integer #
negateInteger :: Integer -> Integer #
absInteger :: Integer -> Integer #
signumInteger :: Integer -> Integer #
divInteger :: Integer -> Integer -> Integer #
modInteger :: Integer -> Integer -> Integer #
quotInteger :: Integer -> Integer -> Integer #
remInteger :: Integer -> Integer -> Integer #
Comparison predicates
neqInteger :: Integer -> Integer -> Bool #
compareInteger :: Integer -> Integer -> Ordering #
Int#
-boolean valued versions of comparison predicates
These operations return 0#
and 1#
instead of False
and
True
respectively. See
PrimBool wiki-page
for more details
eqInteger# :: Integer -> Integer -> Int# #
neqInteger# :: Integer -> Integer -> Int# #
leInteger# :: Integer -> Integer -> Int# #
gtInteger# :: Integer -> Integer -> Int# #
ltInteger# :: Integer -> Integer -> Int# #
geInteger# :: Integer -> Integer -> Int# #
Bit-operations
andInteger :: Integer -> Integer -> Integer #
xorInteger :: Integer -> Integer -> Integer #
complementInteger :: Integer -> Integer #
shiftLInteger :: Integer -> Int# -> Integer #
shiftRInteger :: Integer -> Int# -> Integer #
testBitInteger :: Integer -> Int# -> Bool #
popCountInteger :: Integer -> Int# #
bitInteger :: Int# -> Integer #
Hashing
hashInteger :: Integer -> Int# #