Copyright | (c) The University of Glasgow 1994-2002 |
---|---|
License | see libraries/base/LICENSE |
Maintainer | ghc-devs@haskell.org |
Stability | internal |
Portability | non-portable (GHC Extensions) |
Safe Haskell | None |
Language | Haskell2010 |
GHC.Num
Synopsis
- class Num a where
- subtract :: Num a => a -> a -> a
- quotRemInteger :: Integer -> Integer -> (# Integer, Integer #)
- integerAbs :: Integer -> Integer
- integerAdd :: Integer -> Integer -> Integer
- integerAnd :: Integer -> Integer -> Integer
- integerBit :: Word -> Integer
- integerBit# :: Word# -> Integer
- integerCheck :: Integer -> Bool
- integerCheck# :: Integer -> Bool#
- integerCompare :: Integer -> Integer -> Ordering
- integerComplement :: Integer -> Integer
- integerDecodeDouble# :: Double# -> (# Integer, Int# #)
- integerDiv :: Integer -> Integer -> Integer
- integerDivMod :: Integer -> Integer -> (Integer, Integer)
- integerDivMod# :: Integer -> Integer -> (# Integer, Integer #)
- integerEncodeDouble :: Integer -> Int -> Double
- integerEncodeDouble# :: Integer -> Int# -> Double#
- integerEncodeFloat# :: Integer -> Int# -> Float#
- integerEq :: Integer -> Integer -> Bool
- integerEq# :: Integer -> Integer -> Bool#
- integerFromAddr :: Word# -> Addr# -> Bool# -> IO Integer
- integerFromAddr# :: Word# -> Addr# -> Bool# -> State# s -> (# State# s, Integer #)
- integerFromBigNat# :: BigNat# -> Integer
- integerFromBigNatNeg# :: BigNat# -> Integer
- integerFromBigNatSign# :: Int# -> BigNat# -> Integer
- integerFromByteArray :: Word# -> ByteArray# -> Word# -> Bool# -> Integer
- integerFromByteArray# :: Word# -> ByteArray# -> Word# -> Bool# -> State# s -> (# State# s, Integer #)
- integerFromInt :: Int -> Integer
- integerFromInt# :: Int# -> Integer
- integerFromInt64# :: Int64# -> Integer
- integerFromNatural :: Natural -> Integer
- integerFromWord :: Word -> Integer
- integerFromWord# :: Word# -> Integer
- integerFromWord64# :: Word64# -> Integer
- integerFromWordList :: Bool -> [Word] -> Integer
- integerFromWordNeg# :: Word# -> Integer
- integerFromWordSign# :: Int# -> Word# -> Integer
- integerGcd :: Integer -> Integer -> Integer
- integerGcde :: Integer -> Integer -> (Integer, Integer, Integer)
- integerGcde# :: Integer -> Integer -> (# Integer, Integer, Integer #)
- integerGe :: Integer -> Integer -> Bool
- integerGe# :: Integer -> Integer -> Bool#
- integerGt :: Integer -> Integer -> Bool
- integerGt# :: Integer -> Integer -> Bool#
- integerIsNegative :: Integer -> Bool
- integerIsNegative# :: Integer -> Bool#
- integerIsOne :: Integer -> Bool
- integerIsPowerOf2# :: Integer -> (# (# #) | Word# #)
- integerIsZero :: Integer -> Bool
- integerLcm :: Integer -> Integer -> Integer
- integerLe :: Integer -> Integer -> Bool
- integerLe# :: Integer -> Integer -> Bool#
- integerLog2 :: Integer -> Word
- integerLog2# :: Integer -> Word#
- integerLogBase :: Integer -> Integer -> Word
- integerLogBase# :: Integer -> Integer -> Word#
- integerLogBaseWord :: Word -> Integer -> Word
- integerLogBaseWord# :: Word# -> Integer -> Word#
- integerLt :: Integer -> Integer -> Bool
- integerLt# :: Integer -> Integer -> Bool#
- integerMod :: Integer -> Integer -> Integer
- integerMul :: Integer -> Integer -> Integer
- integerNe :: Integer -> Integer -> Bool
- integerNe# :: Integer -> Integer -> Bool#
- integerNegate :: Integer -> Integer
- integerOne :: Integer
- integerOr :: Integer -> Integer -> Integer
- integerPopCount# :: Integer -> Int#
- integerPowMod# :: Integer -> Integer -> Natural -> (# Natural | () #)
- integerQuot :: Integer -> Integer -> Integer
- integerQuotRem :: Integer -> Integer -> (Integer, Integer)
- integerQuotRem# :: Integer -> Integer -> (# Integer, Integer #)
- integerRecipMod# :: Integer -> Natural -> (# Natural | () #)
- integerRem :: Integer -> Integer -> Integer
- integerShiftL :: Integer -> Word -> Integer
- integerShiftL# :: Integer -> Word# -> Integer
- integerShiftR :: Integer -> Word -> Integer
- integerShiftR# :: Integer -> Word# -> Integer
- integerSignum :: Integer -> Integer
- integerSignum# :: Integer -> Int#
- integerSizeInBase# :: Word# -> Integer -> Word#
- integerSqr :: Integer -> Integer
- integerSub :: Integer -> Integer -> Integer
- integerTestBit :: Integer -> Word -> Bool
- integerTestBit# :: Integer -> Word# -> Bool#
- integerToAddr :: Integer -> Addr# -> Bool# -> IO Word
- integerToAddr# :: Integer -> Addr# -> Bool# -> State# s -> (# State# s, Word# #)
- integerToBigNatClamp# :: Integer -> BigNat#
- integerToBigNatSign# :: Integer -> (# Int#, BigNat# #)
- integerToInt :: Integer -> Int
- integerToInt# :: Integer -> Int#
- integerToInt64# :: Integer -> Int64#
- integerToMutableByteArray :: Integer -> MutableByteArray# RealWorld -> Word# -> Bool# -> IO Word
- integerToMutableByteArray# :: Integer -> MutableByteArray# s -> Word# -> Bool# -> State# s -> (# State# s, Word# #)
- integerToNatural :: Integer -> Natural
- integerToNaturalClamp :: Integer -> Natural
- integerToNaturalThrow :: Integer -> Natural
- integerToWord :: Integer -> Word
- integerToWord# :: Integer -> Word#
- integerToWord64# :: Integer -> Word64#
- integerXor :: Integer -> Integer -> Integer
- integerZero :: Integer
- data Integer
- = IS Int#
- | IP ByteArray#
- | IN ByteArray#
- naturalAdd :: Natural -> Natural -> Natural
- naturalAnd :: Natural -> Natural -> Natural
- naturalAndNot :: Natural -> Natural -> Natural
- naturalBit :: Word -> Natural
- naturalBit# :: Word# -> Natural
- naturalCheck :: Natural -> Bool
- naturalCheck# :: Natural -> Bool#
- naturalClearBit :: Natural -> Word -> Natural
- naturalClearBit# :: Natural -> Word# -> Natural
- naturalCompare :: Natural -> Natural -> Ordering
- naturalComplementBit :: Natural -> Word -> Natural
- naturalComplementBit# :: Natural -> Word# -> Natural
- naturalEncodeDouble# :: Natural -> Int# -> Double#
- naturalEncodeFloat# :: Natural -> Int# -> Float#
- naturalEq :: Natural -> Natural -> Bool
- naturalEq# :: Natural -> Natural -> Bool#
- naturalFromAddr :: Word# -> Addr# -> Bool# -> IO Natural
- naturalFromAddr# :: Word# -> Addr# -> Bool# -> State# s -> (# State# s, Natural #)
- naturalFromBigNat# :: BigNat# -> Natural
- naturalFromByteArray# :: Word# -> ByteArray# -> Word# -> Bool# -> State# s -> (# State# s, Natural #)
- naturalFromWord :: Word -> Natural
- naturalFromWord# :: Word# -> Natural
- naturalFromWord2# :: Word# -> Word# -> Natural
- naturalFromWordList :: [Word] -> Natural
- naturalGcd :: Natural -> Natural -> Natural
- naturalGe :: Natural -> Natural -> Bool
- naturalGe# :: Natural -> Natural -> Bool#
- naturalGt :: Natural -> Natural -> Bool
- naturalGt# :: Natural -> Natural -> Bool#
- naturalIsOne :: Natural -> Bool
- naturalIsPowerOf2# :: Natural -> (# (# #) | Word# #)
- naturalIsZero :: Natural -> Bool
- naturalLcm :: Natural -> Natural -> Natural
- naturalLe :: Natural -> Natural -> Bool
- naturalLe# :: Natural -> Natural -> Bool#
- naturalLog2 :: Natural -> Word
- naturalLog2# :: Natural -> Word#
- naturalLogBase :: Natural -> Natural -> Word
- naturalLogBase# :: Natural -> Natural -> Word#
- naturalLogBaseWord :: Word -> Natural -> Word
- naturalLogBaseWord# :: Word# -> Natural -> Word#
- naturalLt :: Natural -> Natural -> Bool
- naturalLt# :: Natural -> Natural -> Bool#
- naturalMul :: Natural -> Natural -> Natural
- naturalNe :: Natural -> Natural -> Bool
- naturalNe# :: Natural -> Natural -> Bool#
- naturalNegate :: Natural -> Natural
- naturalOne :: Natural
- naturalOr :: Natural -> Natural -> Natural
- naturalPopCount :: Natural -> Word
- naturalPopCount# :: Natural -> Word#
- naturalPowMod :: Natural -> Natural -> Natural -> Natural
- naturalQuot :: Natural -> Natural -> Natural
- naturalQuotRem :: Natural -> Natural -> (Natural, Natural)
- naturalQuotRem# :: Natural -> Natural -> (# Natural, Natural #)
- naturalRem :: Natural -> Natural -> Natural
- naturalSetBit :: Natural -> Word -> Natural
- naturalSetBit# :: Natural -> Word# -> Natural
- naturalShiftL :: Natural -> Word -> Natural
- naturalShiftL# :: Natural -> Word# -> Natural
- naturalShiftR :: Natural -> Word -> Natural
- naturalShiftR# :: Natural -> Word# -> Natural
- naturalSignum :: Natural -> Natural
- naturalSizeInBase# :: Word# -> Natural -> Word#
- naturalSqr :: Natural -> Natural
- naturalSub :: Natural -> Natural -> (# (# #) | Natural #)
- naturalSubThrow :: Natural -> Natural -> Natural
- naturalSubUnsafe :: Natural -> Natural -> Natural
- naturalTestBit :: Natural -> Word -> Bool
- naturalTestBit# :: Natural -> Word# -> Bool#
- naturalToAddr :: Natural -> Addr# -> Bool# -> IO Word
- naturalToAddr# :: Natural -> Addr# -> Bool# -> State# s -> (# State# s, Word# #)
- naturalToBigNat# :: Natural -> BigNat#
- naturalToMutableByteArray# :: Natural -> MutableByteArray# s -> Word# -> Bool# -> State# s -> (# State# s, Word# #)
- naturalToWord :: Natural -> Word
- naturalToWord# :: Natural -> Word#
- naturalToWordClamp :: Natural -> Word
- naturalToWordClamp# :: Natural -> Word#
- naturalToWordMaybe# :: Natural -> (# (# #) | Word# #)
- naturalXor :: Natural -> Natural -> Natural
- naturalZero :: Natural
- data Natural
- = NS Word#
- | NB ByteArray#
Documentation
Basic numeric class.
The Haskell Report defines no laws for Num
. However, (
and +
)(
are
customarily expected to define a ring and have the following properties:*
)
- Associativity of
(
+
) (x + y) + z
=x + (y + z)
- Commutativity of
(
+
) x + y
=y + x
is the additive identityfromInteger
0x + fromInteger 0
=x
negate
gives the additive inversex + negate x
=fromInteger 0
- Associativity of
(
*
) (x * y) * z
=x * (y * z)
is the multiplicative identityfromInteger
1x * fromInteger 1
=x
andfromInteger 1 * x
=x
- Distributivity of
(
with respect to*
)(
+
) a * (b + c)
=(a * b) + (a * c)
and(b + c) * a
=(b * a) + (c * a)
- Coherence with
toInteger
- if the type also implements
Integral
, thenfromInteger
is a left inverse fortoInteger
, i.e.fromInteger (toInteger i) == i
Note that it isn't customarily expected that a type instance of both Num
and Ord
implement an ordered ring. Indeed, in base
only Integer
and
Rational
do.
Methods
(+) :: a -> a -> a infixl 6 Source #
(-) :: a -> a -> a infixl 6 Source #
(*) :: a -> a -> a infixl 7 Source #
Unary negation.
Absolute value.
Sign of a number.
The functions abs
and signum
should satisfy the law:
abs x * signum x == x
For real numbers, the signum
is either -1
(negative), 0
(zero)
or 1
(positive).
fromInteger :: Integer -> a Source #
Conversion from an Integer
.
An integer literal represents the application of the function
fromInteger
to the appropriate value of type Integer
,
so such literals have type (
.Num
a) => a
Instances
Instances details
Instance details
Defined in GHC.Internal.Event.Unique
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Methods
(+) :: CPtrdiff -> CPtrdiff -> CPtrdiff Source #
(-) :: CPtrdiff -> CPtrdiff -> CPtrdiff Source #
(*) :: CPtrdiff -> CPtrdiff -> CPtrdiff Source #
negate :: CPtrdiff -> CPtrdiff Source #
abs :: CPtrdiff -> CPtrdiff Source #
signum :: CPtrdiff -> CPtrdiff Source #
fromInteger :: Integer -> CPtrdiff Source #
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Methods
(+) :: CSUSeconds -> CSUSeconds -> CSUSeconds Source #
(-) :: CSUSeconds -> CSUSeconds -> CSUSeconds Source #
(*) :: CSUSeconds -> CSUSeconds -> CSUSeconds Source #
negate :: CSUSeconds -> CSUSeconds Source #
abs :: CSUSeconds -> CSUSeconds Source #
signum :: CSUSeconds -> CSUSeconds Source #
fromInteger :: Integer -> CSUSeconds Source #
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Methods
(+) :: CSigAtomic -> CSigAtomic -> CSigAtomic Source #
(-) :: CSigAtomic -> CSigAtomic -> CSigAtomic Source #
(*) :: CSigAtomic -> CSigAtomic -> CSigAtomic Source #
negate :: CSigAtomic -> CSigAtomic Source #
abs :: CSigAtomic -> CSigAtomic Source #
signum :: CSigAtomic -> CSigAtomic Source #
fromInteger :: Integer -> CSigAtomic Source #
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Methods
(+) :: CUIntMax -> CUIntMax -> CUIntMax Source #
(-) :: CUIntMax -> CUIntMax -> CUIntMax Source #
(*) :: CUIntMax -> CUIntMax -> CUIntMax Source #
negate :: CUIntMax -> CUIntMax Source #
abs :: CUIntMax -> CUIntMax Source #
signum :: CUIntMax -> CUIntMax Source #
fromInteger :: Integer -> CUIntMax Source #
Instance details
Defined in GHC.Internal.Foreign.C.Types
Methods
(+) :: CUIntPtr -> CUIntPtr -> CUIntPtr Source #
(-) :: CUIntPtr -> CUIntPtr -> CUIntPtr Source #
(*) :: CUIntPtr -> CUIntPtr -> CUIntPtr Source #
negate :: CUIntPtr -> CUIntPtr Source #
abs :: CUIntPtr -> CUIntPtr Source #
signum :: CUIntPtr -> CUIntPtr Source #
fromInteger :: Integer -> CUIntPtr Source #
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Methods
(+) :: CUSeconds -> CUSeconds -> CUSeconds Source #
(-) :: CUSeconds -> CUSeconds -> CUSeconds Source #
(*) :: CUSeconds -> CUSeconds -> CUSeconds Source #
negate :: CUSeconds -> CUSeconds Source #
abs :: CUSeconds -> CUSeconds Source #
signum :: CUSeconds -> CUSeconds Source #
fromInteger :: Integer -> CUSeconds Source #
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.C.Types
Instance details
Defined in GHC.Internal.Foreign.Ptr
Instance details
Defined in GHC.Internal.Foreign.Ptr
Instance details
Defined in GHC.Internal.Int
Instance details
Defined in GHC.Internal.Int
Instance details
Defined in GHC.Internal.Int
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Methods
(+) :: CBlkSize -> CBlkSize -> CBlkSize Source #
(-) :: CBlkSize -> CBlkSize -> CBlkSize Source #
(*) :: CBlkSize -> CBlkSize -> CBlkSize Source #
negate :: CBlkSize -> CBlkSize Source #
abs :: CBlkSize -> CBlkSize Source #
signum :: CBlkSize -> CBlkSize Source #
fromInteger :: Integer -> CBlkSize Source #
Instance details
Defined in GHC.Internal.System.Posix.Types
Methods
(+) :: CClockId -> CClockId -> CClockId Source #
(-) :: CClockId -> CClockId -> CClockId Source #
(*) :: CClockId -> CClockId -> CClockId Source #
negate :: CClockId -> CClockId Source #
abs :: CClockId -> CClockId Source #
signum :: CClockId -> CClockId Source #
fromInteger :: Integer -> CClockId Source #
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Methods
(+) :: CFsBlkCnt -> CFsBlkCnt -> CFsBlkCnt Source #
(-) :: CFsBlkCnt -> CFsBlkCnt -> CFsBlkCnt Source #
(*) :: CFsBlkCnt -> CFsBlkCnt -> CFsBlkCnt Source #
negate :: CFsBlkCnt -> CFsBlkCnt Source #
abs :: CFsBlkCnt -> CFsBlkCnt Source #
signum :: CFsBlkCnt -> CFsBlkCnt Source #
fromInteger :: Integer -> CFsBlkCnt Source #
Instance details
Defined in GHC.Internal.System.Posix.Types
Methods
(+) :: CFsFilCnt -> CFsFilCnt -> CFsFilCnt Source #
(-) :: CFsFilCnt -> CFsFilCnt -> CFsFilCnt Source #
(*) :: CFsFilCnt -> CFsFilCnt -> CFsFilCnt Source #
negate :: CFsFilCnt -> CFsFilCnt Source #
abs :: CFsFilCnt -> CFsFilCnt Source #
signum :: CFsFilCnt -> CFsFilCnt Source #
fromInteger :: Integer -> CFsFilCnt Source #
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Methods
(+) :: CSocklen -> CSocklen -> CSocklen Source #
(-) :: CSocklen -> CSocklen -> CSocklen Source #
(*) :: CSocklen -> CSocklen -> CSocklen Source #
negate :: CSocklen -> CSocklen Source #
abs :: CSocklen -> CSocklen Source #
signum :: CSocklen -> CSocklen Source #
fromInteger :: Integer -> CSocklen Source #
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.System.Posix.Types
Instance details
Defined in GHC.Internal.Word
Instance details
Defined in GHC.Internal.Word
Instance details
Defined in GHC.Internal.Word
Instance details
Defined in GHC.Internal.Word
Instance details
Defined in GHC.Internal.Num
Note that Natural
's Num
instance isn't a ring: no element but 0 has an
additive inverse. It is a semiring though.
Since: base-4.8.0.0
Instance details
Defined in GHC.Internal.Num
Instance details
Defined in Data.Complex
Methods
(+) :: Complex a -> Complex a -> Complex a Source #
(-) :: Complex a -> Complex a -> Complex a Source #
(*) :: Complex a -> Complex a -> Complex a Source #
negate :: Complex a -> Complex a Source #
abs :: Complex a -> Complex a Source #
signum :: Complex a -> Complex a Source #
fromInteger :: Integer -> Complex a Source #
Instance details
Defined in Data.Semigroup
Instance details
Defined in Data.Semigroup
Instance details
Defined in GHC.Internal.Data.Functor.Identity
Methods
(+) :: Identity a -> Identity a -> Identity a Source #
(-) :: Identity a -> Identity a -> Identity a Source #
(*) :: Identity a -> Identity a -> Identity a Source #
negate :: Identity a -> Identity a Source #
abs :: Identity a -> Identity a Source #
signum :: Identity a -> Identity a Source #
fromInteger :: Integer -> Identity a Source #
Instance details
Defined in GHC.Internal.Data.Ord
Instance details
Defined in GHC.Internal.Data.Semigroup.Internal
Methods
(+) :: Product a -> Product a -> Product a Source #
(-) :: Product a -> Product a -> Product a Source #
(*) :: Product a -> Product a -> Product a Source #
negate :: Product a -> Product a Source #
abs :: Product a -> Product a Source #
signum :: Product a -> Product a Source #
fromInteger :: Integer -> Product a Source #
Instance details
Defined in GHC.Internal.Data.Semigroup.Internal
Instance details
Defined in GHC.Internal.Real
Multiplication is not associative or distributive:
>>>
(0.2 * 0.6 :: Deci) * 0.9 == 0.2 * (0.6 * 0.9)
False
>>>
(0.1 + 0.1 :: Deci) * 0.5 == 0.1 * 0.5 + 0.1 * 0.5
False
Since: base-2.1
Instance details
Defined in Data.Fixed
Instance details
Defined in Data.Functor.Contravariant
Instance details
Defined in GHC.Internal.Data.Functor.Const
Methods
(+) :: Const a b -> Const a b -> Const a b Source #
(-) :: Const a b -> Const a b -> Const a b Source #
(*) :: Const a b -> Const a b -> Const a b Source #
negate :: Const a b -> Const a b Source #
abs :: Const a b -> Const a b Source #
signum :: Const a b -> Const a b Source #
fromInteger :: Integer -> Const a b Source #
Note that even if the underlying Num
and Applicative
instances are
lawful, for most Applicative
s, this instance will not be lawful. If you use
this instance with the list Applicative
, the following customary laws will
not hold:
Commutativity:
>>>
Ap [10,20] + Ap [1,2]
Ap {getAp = [11,12,21,22]}>>>
Ap [1,2] + Ap [10,20]
Ap {getAp = [11,21,12,22]}
Additive inverse:
>>>
Ap [] + negate (Ap [])
Ap {getAp = []}>>>
fromInteger 0 :: Ap [] Int
Ap {getAp = [0]}
Distributivity:
>>>
Ap [1,2] * (3 + 4)
Ap {getAp = [7,14]}>>>
(Ap [1,2] * 3) + (Ap [1,2] * 4)
Ap {getAp = [7,11,10,14]}
Since: base-4.12.0.0
Instance details
Defined in GHC.Internal.Data.Monoid
Instance details
Defined in GHC.Internal.Data.Semigroup.Internal
Instance details
Defined in Data.Functor.Compose
Methods
(+) :: Compose f g a -> Compose f g a -> Compose f g a Source #
(-) :: Compose f g a -> Compose f g a -> Compose f g a Source #
(*) :: Compose f g a -> Compose f g a -> Compose f g a Source #
negate :: Compose f g a -> Compose f g a Source #
abs :: Compose f g a -> Compose f g a Source #
signum :: Compose f g a -> Compose f g a Source #
fromInteger :: Integer -> Compose f g a Source #
quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) Source #
Deprecated: Use integerQuotRem# instead
integerAbs :: Integer -> Integer #
integerAdd :: Integer -> Integer -> Integer #
integerAnd :: Integer -> Integer -> Integer #
integerBit :: Word -> Integer #
integerBit# :: Word# -> Integer #
integerCheck :: Integer -> Bool #
integerCheck# :: Integer -> Bool# #
integerCompare :: Integer -> Integer -> Ordering #
integerComplement :: Integer -> Integer #
integerDecodeDouble# :: Double# -> (# Integer, Int# #) #
integerDiv :: Integer -> Integer -> Integer #
integerEncodeDouble :: Integer -> Int -> Double #
integerEncodeDouble# :: Integer -> Int# -> Double# #
integerEncodeFloat# :: Integer -> Int# -> Float# #
integerEq# :: Integer -> Integer -> Bool# #
integerFromBigNat# :: BigNat# -> Integer #
integerFromBigNatNeg# :: BigNat# -> Integer #
integerFromBigNatSign# :: Int# -> BigNat# -> Integer #
integerFromByteArray :: Word# -> ByteArray# -> Word# -> Bool# -> Integer #
integerFromByteArray# :: Word# -> ByteArray# -> Word# -> Bool# -> State# s -> (# State# s, Integer #) #
integerFromInt :: Int -> Integer #
integerFromInt# :: Int# -> Integer #
integerFromInt64# :: Int64# -> Integer #
integerFromNatural :: Natural -> Integer #
integerFromWord :: Word -> Integer #
integerFromWord# :: Word# -> Integer #
integerFromWord64# :: Word64# -> Integer #
integerFromWordList :: Bool -> [Word] -> Integer #
integerFromWordNeg# :: Word# -> Integer #
integerFromWordSign# :: Int# -> Word# -> Integer #
integerGcd :: Integer -> Integer -> Integer #
integerGe# :: Integer -> Integer -> Bool# #
integerGt# :: Integer -> Integer -> Bool# #
integerIsNegative :: Integer -> Bool #
integerIsNegative# :: Integer -> Bool# #
integerIsOne :: Integer -> Bool #
integerIsPowerOf2# :: Integer -> (# (# #) | Word# #) #
integerIsZero :: Integer -> Bool #
integerLcm :: Integer -> Integer -> Integer #
integerLe# :: Integer -> Integer -> Bool# #
integerLog2 :: Integer -> Word #
integerLog2# :: Integer -> Word# #
integerLogBase :: Integer -> Integer -> Word #
integerLogBase# :: Integer -> Integer -> Word# #
integerLogBaseWord :: Word -> Integer -> Word #
integerLogBaseWord# :: Word# -> Integer -> Word# #
integerLt# :: Integer -> Integer -> Bool# #
integerMod :: Integer -> Integer -> Integer #
integerMul :: Integer -> Integer -> Integer #
integerNe# :: Integer -> Integer -> Bool# #
integerNegate :: Integer -> Integer #
integerOne :: Integer #
integerPopCount# :: Integer -> Int# #
integerQuot :: Integer -> Integer -> Integer #
integerRecipMod# :: Integer -> Natural -> (# Natural | () #) #
integerRem :: Integer -> Integer -> Integer #
integerShiftL :: Integer -> Word -> Integer #
integerShiftL# :: Integer -> Word# -> Integer #
integerShiftR :: Integer -> Word -> Integer #
integerShiftR# :: Integer -> Word# -> Integer #
integerSignum :: Integer -> Integer #
integerSignum# :: Integer -> Int# #
integerSizeInBase# :: Word# -> Integer -> Word# #
integerSqr :: Integer -> Integer #
integerSub :: Integer -> Integer -> Integer #
integerTestBit :: Integer -> Word -> Bool #
integerTestBit# :: Integer -> Word# -> Bool# #
integerToBigNatClamp# :: Integer -> BigNat# #
integerToBigNatSign# :: Integer -> (# Int#, BigNat# #) #
integerToInt :: Integer -> Int #
integerToInt# :: Integer -> Int# #
integerToInt64# :: Integer -> Int64# #
integerToMutableByteArray :: Integer -> MutableByteArray# RealWorld -> Word# -> Bool# -> IO Word #
integerToMutableByteArray# :: Integer -> MutableByteArray# s -> Word# -> Bool# -> State# s -> (# State# s, Word# #) #
integerToNatural :: Integer -> Natural #
integerToNaturalClamp :: Integer -> Natural #
integerToNaturalThrow :: Integer -> Natural #
integerToWord :: Integer -> Word #
integerToWord# :: Integer -> Word# #
integerToWord64# :: Integer -> Word64# #
integerXor :: Integer -> Integer -> Integer #
integerZero :: Integer #
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
naturalAdd :: Natural -> Natural -> Natural #
naturalAnd :: Natural -> Natural -> Natural #
naturalAndNot :: Natural -> Natural -> Natural #
naturalBit :: Word -> Natural #
naturalBit# :: Word# -> Natural #
naturalCheck :: Natural -> Bool #
naturalCheck# :: Natural -> Bool# #
naturalClearBit :: Natural -> Word -> Natural #
naturalClearBit# :: Natural -> Word# -> Natural #
naturalCompare :: Natural -> Natural -> Ordering #
naturalComplementBit :: Natural -> Word -> Natural #
naturalComplementBit# :: Natural -> Word# -> Natural #
naturalEncodeDouble# :: Natural -> Int# -> Double# #
naturalEncodeFloat# :: Natural -> Int# -> Float# #
naturalEq# :: Natural -> Natural -> Bool# #
naturalFromBigNat# :: BigNat# -> Natural #
naturalFromByteArray# :: Word# -> ByteArray# -> Word# -> Bool# -> State# s -> (# State# s, Natural #) #
naturalFromWord :: Word -> Natural #
naturalFromWord# :: Word# -> Natural #
naturalFromWord2# :: Word# -> Word# -> Natural #
naturalFromWordList :: [Word] -> Natural #
naturalGcd :: Natural -> Natural -> Natural #
naturalGe# :: Natural -> Natural -> Bool# #
naturalGt# :: Natural -> Natural -> Bool# #
naturalIsOne :: Natural -> Bool #
naturalIsPowerOf2# :: Natural -> (# (# #) | Word# #) #
naturalIsZero :: Natural -> Bool #
naturalLcm :: Natural -> Natural -> Natural #
naturalLe# :: Natural -> Natural -> Bool# #
naturalLog2 :: Natural -> Word #
naturalLog2# :: Natural -> Word# #
naturalLogBase :: Natural -> Natural -> Word #
naturalLogBase# :: Natural -> Natural -> Word# #
naturalLogBaseWord :: Word -> Natural -> Word #
naturalLogBaseWord# :: Word# -> Natural -> Word# #
naturalLt# :: Natural -> Natural -> Bool# #
naturalMul :: Natural -> Natural -> Natural #
naturalNe# :: Natural -> Natural -> Bool# #
naturalNegate :: Natural -> Natural #
naturalOne :: Natural #
naturalPopCount :: Natural -> Word #
naturalPopCount# :: Natural -> Word# #
naturalQuot :: Natural -> Natural -> Natural #
naturalRem :: Natural -> Natural -> Natural #
naturalSetBit :: Natural -> Word -> Natural #
naturalSetBit# :: Natural -> Word# -> Natural #
naturalShiftL :: Natural -> Word -> Natural #
naturalShiftL# :: Natural -> Word# -> Natural #
naturalShiftR :: Natural -> Word -> Natural #
naturalShiftR# :: Natural -> Word# -> Natural #
naturalSignum :: Natural -> Natural #
naturalSizeInBase# :: Word# -> Natural -> Word# #
naturalSqr :: Natural -> Natural #
naturalSub :: Natural -> Natural -> (# (# #) | Natural #) #
naturalSubThrow :: Natural -> Natural -> Natural #
naturalSubUnsafe :: Natural -> Natural -> Natural #
naturalTestBit :: Natural -> Word -> Bool #
naturalTestBit# :: Natural -> Word# -> Bool# #
naturalToBigNat# :: Natural -> BigNat# #
naturalToMutableByteArray# :: Natural -> MutableByteArray# s -> Word# -> Bool# -> State# s -> (# State# s, Word# #) #
naturalToWord :: Natural -> Word #
naturalToWord# :: Natural -> Word# #
naturalToWordClamp :: Natural -> Word #
naturalToWordClamp# :: Natural -> Word# #
naturalToWordMaybe# :: Natural -> (# (# #) | Word# #) #
naturalXor :: Natural -> Natural -> Natural #
naturalZero :: Natural #
Instances
Instances details
Instance details
Defined in Text.Printf
Methods
formatArg :: Natural -> FieldFormatter Source #
parseFormat :: Natural -> ModifierParser Source #
Instance details
Defined in GHC.Internal.Bits
Methods
(.&.) :: Natural -> Natural -> Natural Source #
(.|.) :: Natural -> Natural -> Natural Source #
xor :: Natural -> Natural -> Natural Source #
complement :: Natural -> Natural Source #
shift :: Natural -> Int -> Natural Source #
rotate :: Natural -> Int -> Natural Source #
bit :: Int -> Natural Source #
setBit :: Natural -> Int -> Natural Source #
clearBit :: Natural -> Int -> Natural Source #
complementBit :: Natural -> Int -> Natural Source #
testBit :: Natural -> Int -> Bool Source #
bitSizeMaybe :: Natural -> Maybe Int Source #
bitSize :: Natural -> Int Source #
isSigned :: Natural -> Bool Source #
shiftL :: Natural -> Int -> Natural Source #
unsafeShiftL :: Natural -> Int -> Natural Source #
shiftR :: Natural -> Int -> Natural Source #
unsafeShiftR :: Natural -> Int -> Natural Source #
rotateL :: Natural -> Int -> Natural 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) -> Natural -> c Natural Source #
gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Natural Source #
toConstr :: Natural -> Constr Source #
dataTypeOf :: Natural -> DataType Source #
dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Natural) Source #
dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Natural) Source #
gmapT :: (forall b. Data b => b -> b) -> Natural -> Natural Source #
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r Source #
gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r Source #
gmapQ :: (forall d. Data d => d -> u) -> Natural -> [u] Source #
gmapQi :: Int -> (forall d. Data d => d -> u) -> Natural -> u Source #
gmapM :: Monad m => (forall d. Data d => d -> m d) -> Natural -> m Natural Source #
gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural Source #
gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural Source #
Instance details
Defined in GHC.Internal.Enum
Methods
succ :: Natural -> Natural Source #
pred :: Natural -> Natural Source #
toEnum :: Int -> Natural Source #
fromEnum :: Natural -> Int Source #
enumFrom :: Natural -> [Natural] Source #
enumFromThen :: Natural -> Natural -> [Natural] Source #
enumFromTo :: Natural -> Natural -> [Natural] Source #
enumFromThenTo :: Natural -> Natural -> Natural -> [Natural] Source #
Instance details
Defined in GHC.Internal.Ix
Note that Natural
's Num
instance isn't a ring: no element but 0 has an
additive inverse. It is a semiring though.
Since: base-4.8.0.0
Instance details
Defined in GHC.Internal.Num
Instance details
Defined in GHC.Internal.Real
Methods
quot :: Natural -> Natural -> Natural Source #
rem :: Natural -> Natural -> Natural Source #
div :: Natural -> Natural -> Natural Source #
mod :: Natural -> Natural -> Natural Source #
quotRem :: Natural -> Natural -> (Natural, Natural) Source #
Instance details
Defined in GHC.Num.Natural
For example, Fixed 1000
will give you a Fixed
with a resolution of 1000.
Instance details
Defined in GHC.Internal.TypeNats
Instance details
Defined in GHC.Internal.TypeNats
Instance details
Defined in GHC.Internal.Data.Type.Ord