| 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#
- encodeDoubleInteger :: Integer -> Int# -> Double#
- decodeDoubleInteger :: Double# -> (# Integer, Int# #)
- 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
Instances
Instances details
Instance details
Defined in Text.Printf
Methods
formatArg :: Integer -> FieldFormatter Source #
parseFormat :: Integer -> ModifierParser Source #
Instance details
Defined in GHC.Internal.Bits
Methods
(.&.) :: Integer -> Integer -> Integer Source #
(.|.) :: Integer -> Integer -> Integer Source #
xor :: Integer -> Integer -> Integer Source #
complement :: Integer -> Integer Source #
shift :: Integer -> Int -> Integer Source #
rotate :: Integer -> Int -> Integer Source #
bit :: Int -> Integer Source #
setBit :: Integer -> Int -> Integer Source #
clearBit :: Integer -> Int -> Integer Source #
complementBit :: Integer -> Int -> Integer Source #
testBit :: Integer -> Int -> Bool Source #
bitSizeMaybe :: Integer -> Maybe Int Source #
bitSize :: Integer -> Int Source #
isSigned :: Integer -> Bool Source #
shiftL :: Integer -> Int -> Integer Source #
unsafeShiftL :: Integer -> Int -> Integer Source #
shiftR :: Integer -> Int -> Integer Source #
unsafeShiftR :: Integer -> Int -> Integer Source #
rotateL :: Integer -> Int -> Integer Source #
Instance details
Defined in GHC.Internal.Data.Data
Methods
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Integer -> c Integer Source #
gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Integer Source #
toConstr :: Integer -> Constr Source #
dataTypeOf :: Integer -> DataType Source #
dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Integer) Source #
dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Integer) Source #
gmapT :: (forall b. Data b => b -> b) -> Integer -> Integer Source #
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Integer -> r Source #
gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Integer -> r Source #
gmapQ :: (forall d. Data d => d -> u) -> Integer -> [u] Source #
gmapQi :: Int -> (forall d. Data d => d -> u) -> Integer -> u Source #
gmapM :: Monad m => (forall d. Data d => d -> m d) -> Integer -> m Integer Source #
gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Integer -> m Integer Source #
gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Integer -> m Integer Source #
Instance details
Defined in GHC.Internal.Enum
Methods
succ :: Integer -> Integer Source #
pred :: Integer -> Integer Source #
toEnum :: Int -> Integer Source #
fromEnum :: Integer -> Int Source #
enumFrom :: Integer -> [Integer] Source #
enumFromThen :: Integer -> Integer -> [Integer] Source #
enumFromTo :: Integer -> Integer -> [Integer] Source #
enumFromThenTo :: Integer -> Integer -> Integer -> [Integer] Source #
Instance details
Defined in GHC.Internal.Ix
Instance details
Defined in GHC.Internal.Num
Instance details
Defined in GHC.Internal.Real
Methods
quot :: Integer -> Integer -> Integer Source #
rem :: Integer -> Integer -> Integer Source #
div :: Integer -> Integer -> Integer Source #
mod :: Integer -> Integer -> Integer Source #
quotRem :: Integer -> Integer -> (Integer, Integer) Source #
Instance details
Defined in GHC.Num.Integer
Construct Integers
smallInteger :: Int# -> Integer Source #
wordToInteger :: Word# -> Integer Source #
Conversion to other integral types
integerToWord :: Integer -> Word# Source #
integerToInt :: Integer -> Int# Source #
Helpers for RealFloat type-class operations
Arithmetic operations
plusInteger :: Integer -> Integer -> Integer Source #
Used to implement (+) for the Num typeclass.
This gives the sum of two integers.
Example
Expand
>>>plusInteger 3 25
>>>(+) 3 25
minusInteger :: Integer -> Integer -> Integer Source #
Used to implement (-) for the Num typeclass.
This gives the difference of two integers.
Example
Expand
>>>minusInteger 3 21
>>>(-) 3 21
timesInteger :: Integer -> Integer -> Integer Source #
Used to implement (*) for the Num typeclass.
This gives the product of two integers.
Example
Expand
>>>timesInteger 3 26
>>>(*) 3 26
negateInteger :: Integer -> Integer Source #
Used to implement negate for the Num typeclass.
This changes the sign of whatever integer is passed into it.
Example
Expand
>>>negateInteger (-6)6
>>>negate (-6)6
absInteger :: Integer -> Integer Source #
Used to implement abs for the Num typeclass.
This gives the absolute value of whatever integer is passed into it.
Example
Expand
>>>absInteger (-6)6
>>>abs (-6)6
signumInteger :: Integer -> Integer Source #
Used to implement signum for the Num typeclass.
This gives 1 for a positive integer, and -1 for a negative integer.
Example
Expand
>>>signumInteger 51
>>>signum 51
divModInteger :: Integer -> Integer -> (# Integer, Integer #) Source #
Used to implement divMod for the Integral typeclass.
This gives a tuple equivalent to
(div x y, mod x y)
Example
Expand
>>>divModInteger 10 2(5,0)
>>>divMod 10 2(5,0)
divInteger :: Integer -> Integer -> Integer Source #
Used to implement div for the Integral typeclass.
This performs integer division on its two parameters, truncated towards negative infinity.
Example
Expand
>>>10 `divInteger` 25
>>>10 `div` 2
modInteger :: Integer -> Integer -> Integer Source #
Used to implement mod for the Integral typeclass.
This performs the modulo operation, satisfying
((x `div` y) * y) + (x `mod` y) == x
Example
Expand
>>>7 `modInteger` 31
>>>7 `mod` 31
quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) Source #
Used to implement quotRem for the Integral typeclass.
This gives a tuple equivalent to
(quot x y, mod x y)
Example
Expand
>>>quotRemInteger 10 2(5,0)
>>>quotRem 10 2(5,0)
quotInteger :: Integer -> Integer -> Integer Source #
Used to implement quot for the Integral typeclass.
This performs integer division on its two parameters, truncated towards zero.
Example
Expand
>>>quotInteger 10 25
>>>quot 10 25
remInteger :: Integer -> Integer -> Integer Source #
Used to implement rem for the Integral typeclass.
This gives the remainder after integer division of its two parameters, satisfying
((x `quot` y) * y) + (x `rem` y) == x
Example
Expand
>>>remInteger 3 21
>>>rem 3 21
Comparison predicates
eqInteger :: Integer -> Integer -> Bool Source #
Used to implement (==) for the Eq typeclass.
Outputs True if two integers are equal to each other.
Example
Expand
>>>6 `eqInteger` 6True
>>>6 == 6True
neqInteger :: Integer -> Integer -> Bool Source #
Used to implement (/=) for the Eq typeclass.
Outputs True if two integers are not equal to each other.
Example
Expand
>>>6 `neqInteger` 7True
>>>6 /= 7True
leInteger :: Integer -> Integer -> Bool Source #
Used to implement (<=) for the Ord typeclass.
Outputs True if the first argument is less than or equal to the second.
Example
Expand
>>>3 `leInteger` 5True
>>>3 <= 5True
gtInteger :: Integer -> Integer -> Bool Source #
Used to implement (>) for the Ord typeclass.
Outputs True if the first argument is greater than the second.
Example
Expand
>>>5 `gtInteger` 3True
>>>5 > 3True
ltInteger :: Integer -> Integer -> Bool Source #
Used to implement (<) for the Ord typeclass.
Outputs True if the first argument is less than the second.
Example
Expand
>>>3 `ltInteger` 5True
>>>3 < 5True
geInteger :: Integer -> Integer -> Bool Source #
Used to implement (>=) for the Ord typeclass.
Outputs True if the first argument is greater than or equal to the second.
Example
Expand
>>>5 `geInteger` 3True
>>>5 >= 3True
compareInteger :: Integer -> Integer -> Ordering Source #
Used to implement compare for the Integral typeclass.
This takes two integers, and outputs whether the first is less than, equal to, or greater than the second.
Example
Expand
>>>compareInteger 2 10LT
>>>compare 2 10LT
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
Bit-operations
complementInteger :: Integer -> Integer Source #
popCountInteger :: Integer -> Int# Source #
bitInteger :: Int# -> Integer Source #
Hashing
hashInteger :: Integer -> Int# Source #