Copyright | (c) 2018-2023 Kowainik |
---|---|
License | MIT |
Maintainer | Kowainik <xrom.xkov@gmail.com> |
Stability | Stable |
Portability | Portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Relude.Numeric
Contents
Description
Provides numerical data types and functions.
Since: 0.5.0
Synopsis
- toIntegralSized :: (Integral a, Integral b, Bits a, Bits b) => a -> Maybe b
- xor :: Bits a => a -> a -> a
- data Int
- data Int16
- data Int32
- data Int64
- data Int8
- data Word8
- data Word
- data Word16
- data Word32
- data Word64
- byteSwap16 :: Word16 -> Word16
- byteSwap32 :: Word32 -> Word32
- byteSwap64 :: Word64 -> Word64
- maxInt :: Int
- minInt :: Int
- data Double = D# Double#
- data Float = F# Float#
- class Fractional a => Floating a where
- class (RealFrac a, Floating a) => RealFloat a where
- floatRadix :: a -> Integer
- floatDigits :: a -> Int
- floatRange :: a -> (Int, Int)
- decodeFloat :: a -> (Integer, Int)
- encodeFloat :: Integer -> Int -> a
- isNaN :: a -> Bool
- isInfinite :: a -> Bool
- isDenormalized :: a -> Bool
- isNegativeZero :: a -> Bool
- isIEEE :: a -> Bool
- atan2 :: a -> a -> a
- class Num a where
- data Integer
- subtract :: Num a => a -> a -> a
- class (Num a, Ord a) => Real a where
- toRational :: a -> Rational
- class Num a => Fractional a where
- (/) :: a -> a -> a
- recip :: a -> a
- fromRational :: Rational -> a
- class (Real a, Enum a) => Integral a where
- data Ratio a
- type Rational = Ratio Integer
- class (Real a, Fractional a) => RealFrac a where
- denominator :: Ratio a -> a
- even :: Integral a => a -> Bool
- fromIntegral :: (Integral a, Num b) => a -> b
- gcd :: Integral a => a -> a -> a
- lcm :: Integral a => a -> a -> a
- numerator :: Ratio a -> a
- odd :: Integral a => a -> Bool
- realToFrac :: (Real a, Fractional b) => a -> b
- (^) :: (Num a, Integral b) => a -> b -> a
- (^^) :: (Fractional a, Integral b) => a -> b -> a
- data Natural
- integerToBounded :: forall a. (Integral a, Bounded a) => Integer -> Maybe a
- integerToNatural :: Integer -> Maybe Natural
Reexports
toIntegralSized :: (Integral a, Integral b, Bits a, Bits b) => a -> Maybe b #
Instances
Data Int | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int -> c Int gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int dataTypeOf :: Int -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int) gmapT :: (forall b. Data b => b -> b) -> Int -> Int gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r gmapQ :: (forall d. Data d => d -> u) -> Int -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Int -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int -> m Int gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int | |
Bits Int | |
Defined in GHC.Bits Methods complement :: Int -> Int complementBit :: Int -> Int -> Int bitSizeMaybe :: Int -> Maybe Int unsafeShiftL :: Int -> Int -> Int unsafeShiftR :: Int -> Int -> Int | |
FiniteBits Int | |
Defined in GHC.Bits | |
Bounded Int | |
Enum Int | |
Num Int | |
Read Int | |
Integral Int | |
Real Int | |
Defined in GHC.Real Methods toRational :: Int -> Rational # | |
Show Int | |
NFData Int | |
Defined in Control.DeepSeq | |
Eq Int | |
Ord Int | |
Hashable Int | |
Defined in Data.Hashable.Class | |
Lift Int | |
Generic1 (URec Int :: k -> Type) | |
Foldable (UInt :: Type -> Type) | |
Defined in Data.Foldable Methods fold :: Monoid m => UInt m -> m # foldMap :: Monoid m => (a -> m) -> UInt a -> m # foldMap' :: Monoid m => (a -> m) -> UInt a -> m # foldr :: (a -> b -> b) -> b -> UInt a -> b # foldr' :: (a -> b -> b) -> b -> UInt a -> b foldl :: (b -> a -> b) -> b -> UInt a -> b foldl' :: (b -> a -> b) -> b -> UInt a -> b # foldr1 :: (a -> a -> a) -> UInt a -> a foldl1 :: (a -> a -> a) -> UInt a -> a elem :: Eq a => a -> UInt a -> Bool maximum :: Ord a => UInt a -> a | |
Traversable (UInt :: Type -> Type) | |
Defined in Data.Traversable | |
Functor (URec Int :: Type -> Type) | |
Generic (URec Int p) | |
Show (URec Int p) | |
Eq (URec Int p) | |
Ord (URec Int p) | |
data URec Int (p :: k) | |
Defined in GHC.Generics | |
type Rep1 (URec Int :: k -> Type) | |
type Rep (URec Int p) | |
Instances
Data Int16 | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int16 -> c Int16 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int16 dataTypeOf :: Int16 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int16) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int16) gmapT :: (forall b. Data b => b -> b) -> Int16 -> Int16 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int16 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int16 -> r gmapQ :: (forall d. Data d => d -> u) -> Int16 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Int16 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 | |
Bits Int16 | |
Defined in GHC.Int Methods (.&.) :: Int16 -> Int16 -> Int16 (.|.) :: Int16 -> Int16 -> Int16 xor :: Int16 -> Int16 -> Int16 # complement :: Int16 -> Int16 shift :: Int16 -> Int -> Int16 rotate :: Int16 -> Int -> Int16 setBit :: Int16 -> Int -> Int16 clearBit :: Int16 -> Int -> Int16 complementBit :: Int16 -> Int -> Int16 testBit :: Int16 -> Int -> Bool bitSizeMaybe :: Int16 -> Maybe Int shiftL :: Int16 -> Int -> Int16 unsafeShiftL :: Int16 -> Int -> Int16 shiftR :: Int16 -> Int -> Int16 unsafeShiftR :: Int16 -> Int -> Int16 rotateL :: Int16 -> Int -> Int16 | |
FiniteBits Int16 | |
Defined in GHC.Int Methods finiteBitSize :: Int16 -> Int countLeadingZeros :: Int16 -> Int countTrailingZeros :: Int16 -> Int | |
Bounded Int16 | |
Enum Int16 | |
Ix Int16 | |
Num Int16 | |
Read Int16 | |
Integral Int16 | |
Real Int16 | |
Defined in GHC.Int Methods toRational :: Int16 -> Rational # | |
Show Int16 | |
NFData Int16 | |
Defined in Control.DeepSeq | |
Eq Int16 | |
Ord Int16 | |
Hashable Int16 | |
Defined in Data.Hashable.Class | |
Lift Int16 | |
Instances
Data Int32 | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int32 -> c Int32 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int32 dataTypeOf :: Int32 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int32) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int32) gmapT :: (forall b. Data b => b -> b) -> Int32 -> Int32 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int32 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int32 -> r gmapQ :: (forall d. Data d => d -> u) -> Int32 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Int32 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 | |
Bits Int32 | |
Defined in GHC.Int Methods (.&.) :: Int32 -> Int32 -> Int32 (.|.) :: Int32 -> Int32 -> Int32 xor :: Int32 -> Int32 -> Int32 # complement :: Int32 -> Int32 shift :: Int32 -> Int -> Int32 rotate :: Int32 -> Int -> Int32 setBit :: Int32 -> Int -> Int32 clearBit :: Int32 -> Int -> Int32 complementBit :: Int32 -> Int -> Int32 testBit :: Int32 -> Int -> Bool bitSizeMaybe :: Int32 -> Maybe Int shiftL :: Int32 -> Int -> Int32 unsafeShiftL :: Int32 -> Int -> Int32 shiftR :: Int32 -> Int -> Int32 unsafeShiftR :: Int32 -> Int -> Int32 rotateL :: Int32 -> Int -> Int32 | |
FiniteBits Int32 | |
Defined in GHC.Int Methods finiteBitSize :: Int32 -> Int countLeadingZeros :: Int32 -> Int countTrailingZeros :: Int32 -> Int | |
Bounded Int32 | |
Enum Int32 | |
Ix Int32 | |
Num Int32 | |
Read Int32 | |
Integral Int32 | |
Real Int32 | |
Defined in GHC.Int Methods toRational :: Int32 -> Rational # | |
Show Int32 | |
NFData Int32 | |
Defined in Control.DeepSeq | |
Eq Int32 | |
Ord Int32 | |
Hashable Int32 | |
Defined in Data.Hashable.Class | |
Lift Int32 | |
Instances
Data Int64 | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int64 -> c Int64 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int64 dataTypeOf :: Int64 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int64) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int64) gmapT :: (forall b. Data b => b -> b) -> Int64 -> Int64 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int64 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int64 -> r gmapQ :: (forall d. Data d => d -> u) -> Int64 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Int64 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 | |
Bits Int64 | |
Defined in GHC.Int Methods (.&.) :: Int64 -> Int64 -> Int64 (.|.) :: Int64 -> Int64 -> Int64 xor :: Int64 -> Int64 -> Int64 # complement :: Int64 -> Int64 shift :: Int64 -> Int -> Int64 rotate :: Int64 -> Int -> Int64 setBit :: Int64 -> Int -> Int64 clearBit :: Int64 -> Int -> Int64 complementBit :: Int64 -> Int -> Int64 testBit :: Int64 -> Int -> Bool bitSizeMaybe :: Int64 -> Maybe Int shiftL :: Int64 -> Int -> Int64 unsafeShiftL :: Int64 -> Int -> Int64 shiftR :: Int64 -> Int -> Int64 unsafeShiftR :: Int64 -> Int -> Int64 rotateL :: Int64 -> Int -> Int64 | |
FiniteBits Int64 | |
Defined in GHC.Int Methods finiteBitSize :: Int64 -> Int countLeadingZeros :: Int64 -> Int countTrailingZeros :: Int64 -> Int | |
Bounded Int64 | |
Enum Int64 | |
Ix Int64 | |
Num Int64 | |
Read Int64 | |
Integral Int64 | |
Real Int64 | |
Defined in GHC.Int Methods toRational :: Int64 -> Rational # | |
Show Int64 | |
NFData Int64 | |
Defined in Control.DeepSeq | |
Eq Int64 | |
Ord Int64 | |
Hashable Int64 | |
Defined in Data.Hashable.Class | |
Lift Int64 | |
Instances
Data Int8 | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int8 -> c Int8 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int8 dataTypeOf :: Int8 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int8) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int8) gmapT :: (forall b. Data b => b -> b) -> Int8 -> Int8 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int8 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int8 -> r gmapQ :: (forall d. Data d => d -> u) -> Int8 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Int8 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 | |
Bits Int8 | |
Defined in GHC.Int | |
FiniteBits Int8 | |
Defined in GHC.Int Methods finiteBitSize :: Int8 -> Int countLeadingZeros :: Int8 -> Int countTrailingZeros :: Int8 -> Int | |
Bounded Int8 | |
Enum Int8 | |
Ix Int8 | |
Num Int8 | |
Read Int8 | |
Integral Int8 | |
Real Int8 | |
Defined in GHC.Int Methods toRational :: Int8 -> Rational # | |
Show Int8 | |
NFData Int8 | |
Defined in Control.DeepSeq | |
Eq Int8 | |
Ord Int8 | |
Hashable Int8 | |
Defined in Data.Hashable.Class | |
Lift Int8 | |
Instances
Data Word8 | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word8 -> c Word8 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word8 dataTypeOf :: Word8 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word8) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word8) gmapT :: (forall b. Data b => b -> b) -> Word8 -> Word8 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r gmapQ :: (forall d. Data d => d -> u) -> Word8 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Word8 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 | |
Bits Word8 | |
Defined in GHC.Word Methods (.&.) :: Word8 -> Word8 -> Word8 (.|.) :: Word8 -> Word8 -> Word8 xor :: Word8 -> Word8 -> Word8 # complement :: Word8 -> Word8 shift :: Word8 -> Int -> Word8 rotate :: Word8 -> Int -> Word8 setBit :: Word8 -> Int -> Word8 clearBit :: Word8 -> Int -> Word8 complementBit :: Word8 -> Int -> Word8 testBit :: Word8 -> Int -> Bool bitSizeMaybe :: Word8 -> Maybe Int shiftL :: Word8 -> Int -> Word8 unsafeShiftL :: Word8 -> Int -> Word8 shiftR :: Word8 -> Int -> Word8 unsafeShiftR :: Word8 -> Int -> Word8 rotateL :: Word8 -> Int -> Word8 | |
FiniteBits Word8 | |
Defined in GHC.Word Methods finiteBitSize :: Word8 -> Int countLeadingZeros :: Word8 -> Int countTrailingZeros :: Word8 -> Int | |
Bounded Word8 | |
Enum Word8 | |
Ix Word8 | |
Num Word8 | |
Read Word8 | |
Integral Word8 | |
Real Word8 | |
Defined in GHC.Word Methods toRational :: Word8 -> Rational # | |
Show Word8 | |
NFData Word8 | |
Defined in Control.DeepSeq | |
Eq Word8 | |
Ord Word8 | |
Hashable Word8 | |
Defined in Data.Hashable.Class | |
Lift Word8 | |
Instances
Data Word | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word -> c Word gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word dataTypeOf :: Word -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word) gmapT :: (forall b. Data b => b -> b) -> Word -> Word gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r gmapQ :: (forall d. Data d => d -> u) -> Word -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Word -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word -> m Word gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word | |
Bits Word | |
Defined in GHC.Bits | |
FiniteBits Word | |
Defined in GHC.Bits Methods finiteBitSize :: Word -> Int countLeadingZeros :: Word -> Int countTrailingZeros :: Word -> Int | |
Bounded Word | |
Enum Word | |
Num Word | |
Read Word | |
Integral Word | |
Real Word | |
Defined in GHC.Real Methods toRational :: Word -> Rational # | |
Show Word | |
NFData Word | |
Defined in Control.DeepSeq | |
Eq Word | |
Ord Word | |
Hashable Word | |
Defined in Data.Hashable.Class | |
Lift Word | |
Generic1 (URec Word :: k -> Type) | |
Foldable (UWord :: Type -> Type) | |
Defined in Data.Foldable Methods fold :: Monoid m => UWord m -> m # foldMap :: Monoid m => (a -> m) -> UWord a -> m # foldMap' :: Monoid m => (a -> m) -> UWord a -> m # foldr :: (a -> b -> b) -> b -> UWord a -> b # foldr' :: (a -> b -> b) -> b -> UWord a -> b foldl :: (b -> a -> b) -> b -> UWord a -> b foldl' :: (b -> a -> b) -> b -> UWord a -> b # foldr1 :: (a -> a -> a) -> UWord a -> a foldl1 :: (a -> a -> a) -> UWord a -> a elem :: Eq a => a -> UWord a -> Bool maximum :: Ord a => UWord a -> a | |
Traversable (UWord :: Type -> Type) | |
Defined in Data.Traversable | |
Functor (URec Word :: Type -> Type) | |
Generic (URec Word p) | |
Show (URec Word p) | |
Eq (URec Word p) | |
Ord (URec Word p) | |
Defined in GHC.Generics | |
data URec Word (p :: k) | |
Defined in GHC.Generics | |
type Rep1 (URec Word :: k -> Type) | |
type Rep (URec Word p) | |
Instances
Data Word16 | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word16 -> c Word16 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word16 dataTypeOf :: Word16 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word16) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word16) gmapT :: (forall b. Data b => b -> b) -> Word16 -> Word16 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word16 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word16 -> r gmapQ :: (forall d. Data d => d -> u) -> Word16 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Word16 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 | |
Bits Word16 | |
Defined in GHC.Word Methods (.&.) :: Word16 -> Word16 -> Word16 (.|.) :: Word16 -> Word16 -> Word16 xor :: Word16 -> Word16 -> Word16 # complement :: Word16 -> Word16 shift :: Word16 -> Int -> Word16 rotate :: Word16 -> Int -> Word16 setBit :: Word16 -> Int -> Word16 clearBit :: Word16 -> Int -> Word16 complementBit :: Word16 -> Int -> Word16 testBit :: Word16 -> Int -> Bool bitSizeMaybe :: Word16 -> Maybe Int shiftL :: Word16 -> Int -> Word16 unsafeShiftL :: Word16 -> Int -> Word16 shiftR :: Word16 -> Int -> Word16 unsafeShiftR :: Word16 -> Int -> Word16 rotateL :: Word16 -> Int -> Word16 | |
FiniteBits Word16 | |
Defined in GHC.Word Methods finiteBitSize :: Word16 -> Int countLeadingZeros :: Word16 -> Int countTrailingZeros :: Word16 -> Int | |
Bounded Word16 | |
Enum Word16 | |
Defined in GHC.Word | |
Ix Word16 | |
Num Word16 | |
Read Word16 | |
Integral Word16 | |
Real Word16 | |
Defined in GHC.Word Methods toRational :: Word16 -> Rational # | |
Show Word16 | |
NFData Word16 | |
Defined in Control.DeepSeq | |
Eq Word16 | |
Ord Word16 | |
Hashable Word16 | |
Defined in Data.Hashable.Class | |
Lift Word16 | |
Instances
Data Word32 | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word32 -> c Word32 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word32 dataTypeOf :: Word32 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word32) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word32) gmapT :: (forall b. Data b => b -> b) -> Word32 -> Word32 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word32 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word32 -> r gmapQ :: (forall d. Data d => d -> u) -> Word32 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Word32 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 | |
Bits Word32 | |
Defined in GHC.Word Methods (.&.) :: Word32 -> Word32 -> Word32 (.|.) :: Word32 -> Word32 -> Word32 xor :: Word32 -> Word32 -> Word32 # complement :: Word32 -> Word32 shift :: Word32 -> Int -> Word32 rotate :: Word32 -> Int -> Word32 setBit :: Word32 -> Int -> Word32 clearBit :: Word32 -> Int -> Word32 complementBit :: Word32 -> Int -> Word32 testBit :: Word32 -> Int -> Bool bitSizeMaybe :: Word32 -> Maybe Int shiftL :: Word32 -> Int -> Word32 unsafeShiftL :: Word32 -> Int -> Word32 shiftR :: Word32 -> Int -> Word32 unsafeShiftR :: Word32 -> Int -> Word32 rotateL :: Word32 -> Int -> Word32 | |
FiniteBits Word32 | |
Defined in GHC.Word Methods finiteBitSize :: Word32 -> Int countLeadingZeros :: Word32 -> Int countTrailingZeros :: Word32 -> Int | |
Bounded Word32 | |
Enum Word32 | |
Defined in GHC.Word | |
Ix Word32 | |
Num Word32 | |
Read Word32 | |
Integral Word32 | |
Real Word32 | |
Defined in GHC.Word Methods toRational :: Word32 -> Rational # | |
Show Word32 | |
NFData Word32 | |
Defined in Control.DeepSeq | |
Eq Word32 | |
Ord Word32 | |
Hashable Word32 | |
Defined in Data.Hashable.Class | |
Lift Word32 | |
Instances
Data Word64 | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word64 -> c Word64 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word64 dataTypeOf :: Word64 -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word64) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word64) gmapT :: (forall b. Data b => b -> b) -> Word64 -> Word64 gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word64 -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word64 -> r gmapQ :: (forall d. Data d => d -> u) -> Word64 -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Word64 -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 | |
Bits Word64 | |
Defined in GHC.Word Methods (.&.) :: Word64 -> Word64 -> Word64 (.|.) :: Word64 -> Word64 -> Word64 xor :: Word64 -> Word64 -> Word64 # complement :: Word64 -> Word64 shift :: Word64 -> Int -> Word64 rotate :: Word64 -> Int -> Word64 setBit :: Word64 -> Int -> Word64 clearBit :: Word64 -> Int -> Word64 complementBit :: Word64 -> Int -> Word64 testBit :: Word64 -> Int -> Bool bitSizeMaybe :: Word64 -> Maybe Int shiftL :: Word64 -> Int -> Word64 unsafeShiftL :: Word64 -> Int -> Word64 shiftR :: Word64 -> Int -> Word64 unsafeShiftR :: Word64 -> Int -> Word64 rotateL :: Word64 -> Int -> Word64 | |
FiniteBits Word64 | |
Defined in GHC.Word Methods finiteBitSize :: Word64 -> Int countLeadingZeros :: Word64 -> Int countTrailingZeros :: Word64 -> Int | |
Bounded Word64 | |
Enum Word64 | |
Defined in GHC.Word | |
Ix Word64 | |
Num Word64 | |
Read Word64 | |
Integral Word64 | |
Real Word64 | |
Defined in GHC.Word Methods toRational :: Word64 -> Rational # | |
Show Word64 | |
NFData Word64 | |
Defined in Control.DeepSeq | |
Eq Word64 | |
Ord Word64 | |
Hashable Word64 | |
Defined in Data.Hashable.Class | |
Lift Word64 | |
byteSwap16 :: Word16 -> Word16 #
byteSwap32 :: Word32 -> Word32 #
byteSwap64 :: Word64 -> Word64 #
Constructors
D# Double# |
Instances
Data Double | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Double -> c Double gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Double dataTypeOf :: Double -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Double) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Double) gmapT :: (forall b. Data b => b -> b) -> Double -> Double gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r gmapQ :: (forall d. Data d => d -> u) -> Double -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Double -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Double -> m Double gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double | |
Floating Double | |
RealFloat Double | |
Defined in GHC.Float Methods floatRadix :: Double -> Integer # floatDigits :: Double -> Int # floatRange :: Double -> (Int, Int) # decodeFloat :: Double -> (Integer, Int) # encodeFloat :: Integer -> Int -> Double # significand :: Double -> Double scaleFloat :: Int -> Double -> Double isInfinite :: Double -> Bool # isDenormalized :: Double -> Bool # isNegativeZero :: Double -> Bool # | |
Read Double | |
NFData Double | |
Defined in Control.DeepSeq | |
Eq Double | |
Ord Double | |
Hashable Double | |
Defined in Data.Hashable.Class | |
Lift Double | |
Generic1 (URec Double :: k -> Type) | |
Foldable (UDouble :: Type -> Type) | |
Defined in Data.Foldable Methods fold :: Monoid m => UDouble m -> m # foldMap :: Monoid m => (a -> m) -> UDouble a -> m # foldMap' :: Monoid m => (a -> m) -> UDouble a -> m # foldr :: (a -> b -> b) -> b -> UDouble a -> b # foldr' :: (a -> b -> b) -> b -> UDouble a -> b foldl :: (b -> a -> b) -> b -> UDouble a -> b foldl' :: (b -> a -> b) -> b -> UDouble a -> b # foldr1 :: (a -> a -> a) -> UDouble a -> a foldl1 :: (a -> a -> a) -> UDouble a -> a elem :: Eq a => a -> UDouble a -> Bool maximum :: Ord a => UDouble a -> a minimum :: Ord a => UDouble a -> a | |
Traversable (UDouble :: Type -> Type) | |
Defined in Data.Traversable | |
Functor (URec Double :: Type -> Type) | |
Generic (URec Double p) | |
Show (URec Double p) | |
Eq (URec Double p) | |
Ord (URec Double p) | |
Defined in GHC.Generics Methods compare :: URec Double p -> URec Double p -> Ordering # (<) :: URec Double p -> URec Double p -> Bool # (<=) :: URec Double p -> URec Double p -> Bool # (>) :: URec Double p -> URec Double p -> Bool # (>=) :: URec Double p -> URec Double p -> Bool # | |
data URec Double (p :: k) | |
Defined in GHC.Generics | |
type Rep1 (URec Double :: k -> Type) | |
type Rep (URec Double p) | |
Constructors
F# Float# |
Instances
Data Float | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Float -> c Float gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Float dataTypeOf :: Float -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Float) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Float) gmapT :: (forall b. Data b => b -> b) -> Float -> Float gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Float -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Float -> r gmapQ :: (forall d. Data d => d -> u) -> Float -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Float -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Float -> m Float gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Float -> m Float gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Float -> m Float | |
Floating Float | |
RealFloat Float | |
Defined in GHC.Float Methods floatRadix :: Float -> Integer # floatDigits :: Float -> Int # floatRange :: Float -> (Int, Int) # decodeFloat :: Float -> (Integer, Int) # encodeFloat :: Integer -> Int -> Float # significand :: Float -> Float scaleFloat :: Int -> Float -> Float isInfinite :: Float -> Bool # isDenormalized :: Float -> Bool # isNegativeZero :: Float -> Bool # | |
Read Float | |
NFData Float | |
Defined in Control.DeepSeq | |
Eq Float | |
Ord Float | |
Hashable Float | |
Defined in Data.Hashable.Class | |
Lift Float | |
Generic1 (URec Float :: k -> Type) | |
Foldable (UFloat :: Type -> Type) | |
Defined in Data.Foldable Methods fold :: Monoid m => UFloat m -> m # foldMap :: Monoid m => (a -> m) -> UFloat a -> m # foldMap' :: Monoid m => (a -> m) -> UFloat a -> m # foldr :: (a -> b -> b) -> b -> UFloat a -> b # foldr' :: (a -> b -> b) -> b -> UFloat a -> b foldl :: (b -> a -> b) -> b -> UFloat a -> b foldl' :: (b -> a -> b) -> b -> UFloat a -> b # foldr1 :: (a -> a -> a) -> UFloat a -> a foldl1 :: (a -> a -> a) -> UFloat a -> a elem :: Eq a => a -> UFloat a -> Bool maximum :: Ord a => UFloat a -> a | |
Traversable (UFloat :: Type -> Type) | |
Defined in Data.Traversable | |
Functor (URec Float :: Type -> Type) | |
Generic (URec Float p) | |
Show (URec Float p) | |
Eq (URec Float p) | |
Ord (URec Float p) | |
Defined in GHC.Generics | |
data URec Float (p :: k) | |
Defined in GHC.Generics | |
type Rep1 (URec Float :: k -> Type) | |
type Rep (URec Float p) | |
class Fractional a => Floating a where #
Minimal complete definition
pi, exp, log, sin, cos, asin, acos, atan, sinh, cosh, asinh, acosh, atanh
Methods
Instances
Floating Double | |
Floating Float | |
RealFloat a => Floating (Complex a) | |
Defined in Data.Complex Methods exp :: Complex a -> Complex a # log :: Complex a -> Complex a sqrt :: Complex a -> Complex a # (**) :: Complex a -> Complex a -> Complex a # logBase :: Complex a -> Complex a -> Complex a # sin :: Complex a -> Complex a # cos :: Complex a -> Complex a # tan :: Complex a -> Complex a # asin :: Complex a -> Complex a # acos :: Complex a -> Complex a # atan :: Complex a -> Complex a # sinh :: Complex a -> Complex a # cosh :: Complex a -> Complex a # tanh :: Complex a -> Complex a # asinh :: Complex a -> Complex a # acosh :: Complex a -> Complex a # atanh :: Complex a -> Complex a # log1p :: Complex a -> Complex a expm1 :: Complex a -> Complex a log1pexp :: Complex a -> Complex a log1mexp :: Complex a -> Complex a | |
Floating a => Floating (Identity a) | |
Defined in Data.Functor.Identity Methods exp :: Identity a -> Identity a # log :: Identity a -> Identity a sqrt :: Identity a -> Identity a # (**) :: Identity a -> Identity a -> Identity a # logBase :: Identity a -> Identity a -> Identity a # sin :: Identity a -> Identity a # cos :: Identity a -> Identity a # tan :: Identity a -> Identity a # asin :: Identity a -> Identity a # acos :: Identity a -> Identity a # atan :: Identity a -> Identity a # sinh :: Identity a -> Identity a # cosh :: Identity a -> Identity a # tanh :: Identity a -> Identity a # asinh :: Identity a -> Identity a # acosh :: Identity a -> Identity a # atanh :: Identity a -> Identity a # log1p :: Identity a -> Identity a expm1 :: Identity a -> Identity a | |
Floating a => Floating (Down a) | |
Floating a => Floating (Op a b) | |
Floating a => Floating (Const a b) | |
Defined in Data.Functor.Const Methods exp :: Const a b -> Const a b # sqrt :: Const a b -> Const a b # (**) :: Const a b -> Const a b -> Const a b # logBase :: Const a b -> Const a b -> Const a b # sin :: Const a b -> Const a b # cos :: Const a b -> Const a b # tan :: Const a b -> Const a b # asin :: Const a b -> Const a b # acos :: Const a b -> Const a b # atan :: Const a b -> Const a b # sinh :: Const a b -> Const a b # cosh :: Const a b -> Const a b # tanh :: Const a b -> Const a b # asinh :: Const a b -> Const a b # acosh :: Const a b -> Const a b # atanh :: Const a b -> Const a b # log1p :: Const a b -> Const a b expm1 :: Const a b -> Const a b |
class (RealFrac a, Floating a) => RealFloat a where #
Minimal complete definition
floatRadix, floatDigits, floatRange, decodeFloat, encodeFloat, isNaN, isInfinite, isDenormalized, isNegativeZero, isIEEE
Methods
floatRadix :: a -> Integer #
floatDigits :: a -> Int #
floatRange :: a -> (Int, Int) #
decodeFloat :: a -> (Integer, Int) #
encodeFloat :: Integer -> Int -> a #
isInfinite :: a -> Bool #
isDenormalized :: a -> Bool #
isNegativeZero :: a -> Bool #
Instances
Methods
fromInteger :: Integer -> a #
Instances
Num Int16 | |
Num Int32 | |
Num Int64 | |
Num Int8 | |
Num Word16 | |
Num Word32 | |
Num Word64 | |
Num Word8 | |
Num Integer | |
Num Natural | |
Num Int | |
Num Word | |
RealFloat a => Num (Complex a) | |
Num a => Num (Identity a) | |
Defined in Data.Functor.Identity | |
Num a => Num (Down a) | |
Num a => Num (Max a) | |
Num a => Num (Min a) | |
Num a => Num (Product a) | |
Defined in Data.Semigroup.Internal | |
Num a => Num (Sum a) | |
Integral a => Num (Ratio a) | |
Num a => Num (Op a b) | |
Num a => Num (Const a b) | |
Defined in Data.Functor.Const | |
(Applicative f, Num a) => Num (Ap f a) | |
Num (f a) => Num (Alt f a) | |
Instances
Data Integer | |
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 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 | |
Bits Integer | |
Defined in GHC.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 | |
Enum Integer | |
Num Integer | |
Read Integer | |
Integral Integer | |
Defined in GHC.Real | |
Real Integer | |
Defined in GHC.Real Methods toRational :: Integer -> Rational # | |
Show Integer | |
NFData Integer | |
Defined in Control.DeepSeq | |
Eq Integer | |
Ord Integer | |
Hashable Integer | |
Defined in Data.Hashable.Class | |
Lift Integer | |
class (Num a, Ord a) => Real a where #
Methods
toRational :: a -> Rational #
Instances
class Num a => Fractional a where #
Minimal complete definition
fromRational, (recip | (/))
Instances
RealFloat a => Fractional (Complex a) | |
Defined in Data.Complex | |
Fractional a => Fractional (Identity a) | |
Fractional a => Fractional (Down a) | |
Integral a => Fractional (Ratio a) | |
Fractional a => Fractional (Op a b) | |
Fractional a => Fractional (Const a b) | |
class (Real a, Enum a) => Integral a where #
Methods
Instances
Integral Int16 | |
Integral Int32 | |
Integral Int64 | |
Integral Int8 | |
Integral Word16 | |
Integral Word32 | |
Integral Word64 | |
Integral Word8 | |
Integral Integer | |
Defined in GHC.Real | |
Integral Natural | |
Defined in GHC.Real | |
Integral Int | |
Integral Word | |
Integral a => Integral (Identity a) | |
Defined in Data.Functor.Identity Methods quot :: Identity a -> Identity a -> Identity a # rem :: Identity a -> Identity a -> Identity a # div :: Identity a -> Identity a -> Identity a # mod :: Identity a -> Identity a -> Identity a # quotRem :: Identity a -> Identity a -> (Identity a, Identity a) # divMod :: Identity a -> Identity a -> (Identity a, Identity a) # | |
Integral a => Integral (Const a b) | |
Defined in Data.Functor.Const Methods quot :: Const a b -> Const a b -> Const a b # rem :: Const a b -> Const a b -> Const a b # div :: Const a b -> Const a b -> Const a b # mod :: Const a b -> Const a b -> Const a b # quotRem :: Const a b -> Const a b -> (Const a b, Const a b) # divMod :: Const a b -> Const a b -> (Const a b, Const a b) # |
Instances
NFData1 Ratio | |
Defined in Control.DeepSeq | |
Integral a => Lift (Ratio a :: Type) | |
(Data a, Integral a) => Data (Ratio a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ratio a -> c (Ratio a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ratio a) dataTypeOf :: Ratio a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ratio a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ratio a)) gmapT :: (forall b. Data b => b -> b) -> Ratio a -> Ratio a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ratio a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ratio a -> r gmapQ :: (forall d. Data d => d -> u) -> Ratio a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Ratio a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) | |
Integral a => Enum (Ratio a) | |
Integral a => Num (Ratio a) | |
(Integral a, Read a) => Read (Ratio a) | |
Integral a => Fractional (Ratio a) | |
Integral a => Real (Ratio a) | |
Defined in GHC.Real Methods toRational :: Ratio a -> Rational # | |
Integral a => RealFrac (Ratio a) | |
Show a => Show (Ratio a) | |
NFData a => NFData (Ratio a) | |
Defined in Control.DeepSeq | |
Eq a => Eq (Ratio a) | |
Integral a => Ord (Ratio a) | |
Hashable a => Hashable (Ratio a) | |
Defined in Data.Hashable.Class |
class (Real a, Fractional a) => RealFrac a where #
Minimal complete definition
Methods
properFraction :: Integral b => a -> (b, a) #
truncate :: Integral b => a -> b #
round :: Integral b => a -> b #
denominator :: Ratio a -> a #
fromIntegral :: (Integral a, Num b) => a -> b #
realToFrac :: (Real a, Fractional b) => a -> b #
(^^) :: (Fractional a, Integral b) => a -> b -> a #
Instances
Data Natural | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Natural -> c Natural gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Natural dataTypeOf :: Natural -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Natural) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Natural) gmapT :: (forall b. Data b => b -> b) -> Natural -> Natural gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r gmapQ :: (forall d. Data d => d -> u) -> Natural -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Natural -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Natural -> m Natural gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural | |
Bits Natural | |
Defined in GHC.Bits Methods (.&.) :: Natural -> Natural -> Natural (.|.) :: Natural -> Natural -> Natural xor :: Natural -> Natural -> Natural # complement :: Natural -> Natural shift :: Natural -> Int -> Natural rotate :: Natural -> Int -> Natural setBit :: Natural -> Int -> Natural clearBit :: Natural -> Int -> Natural complementBit :: Natural -> Int -> Natural testBit :: Natural -> Int -> Bool bitSizeMaybe :: Natural -> Maybe Int shiftL :: Natural -> Int -> Natural unsafeShiftL :: Natural -> Int -> Natural shiftR :: Natural -> Int -> Natural unsafeShiftR :: Natural -> Int -> Natural rotateL :: Natural -> Int -> Natural | |
Enum Natural | |
Num Natural | |
Read Natural | |
Integral Natural | |
Defined in GHC.Real | |
Real Natural | |
Defined in GHC.Real Methods toRational :: Natural -> Rational # | |
Show Natural | |
NFData Natural | |
Defined in Control.DeepSeq | |
Eq Natural | |
Ord Natural | |
Hashable Natural | |
Defined in Data.Hashable.Class | |
TestCoercion SNat | |
Defined in GHC.TypeNats Methods testCoercion :: forall (a :: k) (b :: k). SNat a -> SNat b -> Maybe (Coercion a b) | |
TestEquality SNat | |
Defined in GHC.TypeNats Methods testEquality :: forall (a :: k) (b :: k). SNat a -> SNat b -> Maybe (a :~: b) | |
Lift Natural | |
type Compare (a :: Natural) (b :: Natural) | |
Defined in Data.Type.Ord |
Combinators
integerToBounded :: forall a. (Integral a, Bounded a) => Integer -> Maybe a Source #
Transforms an integer number to a bounded integral.
It returns Nothing
for integers outside the bound of the return type.
>>>
integerToBounded @Int 42
Just 42
>>>
integerToBounded @Int8 1024
Nothing
>>>
integerToBounded @Int (toInteger (minBound :: Int))
Just (-9223372036854775808)>>>
integerToBounded @Int $ (toInteger (minBound :: Int)) - 1
Nothing
>>>
integerToBounded @Int (toInteger (maxBound :: Int))
Just 9223372036854775807>>>
integerToBounded @Int $ (toInteger (maxBound :: Int)) + 1
Nothing
If you want to convert Int
or Word
to a bounded type, take a look at
toIntegralSized
function instead.
Since: 0.5.0