numhask-0.3.0.0: numeric classes

Safe HaskellNone
LanguageHaskell2010

NumHask.Data.Integral

Description

Integral classes

Synopsis

Documentation

class Distributive a => Integral a where Source #

Integral laws

b == zero || b * (a `div` b) + (a `mod` b) == a

Minimal complete definition

divMod, quotRem

Methods

div :: a -> a -> a infixl 7 Source #

mod :: a -> a -> a infixl 7 Source #

divMod :: a -> a -> (a, a) Source #

quot :: a -> a -> a Source #

rem :: a -> a -> a Source #

quotRem :: a -> a -> (a, a) Source #

Instances
Integral Int Source # 
Instance details

Defined in NumHask.Data.Integral

Methods

div :: Int -> Int -> Int Source #

mod :: Int -> Int -> Int Source #

divMod :: Int -> Int -> (Int, Int) Source #

quot :: Int -> Int -> Int Source #

rem :: Int -> Int -> Int Source #

quotRem :: Int -> Int -> (Int, Int) Source #

Integral Int8 Source # 
Instance details

Defined in NumHask.Data.Integral

Methods

div :: Int8 -> Int8 -> Int8 Source #

mod :: Int8 -> Int8 -> Int8 Source #

divMod :: Int8 -> Int8 -> (Int8, Int8) Source #

quot :: Int8 -> Int8 -> Int8 Source #

rem :: Int8 -> Int8 -> Int8 Source #

quotRem :: Int8 -> Int8 -> (Int8, Int8) Source #

Integral Int16 Source # 
Instance details

Defined in NumHask.Data.Integral

Integral Int32 Source # 
Instance details

Defined in NumHask.Data.Integral

Integral Int64 Source # 
Instance details

Defined in NumHask.Data.Integral

Integral Integer Source # 
Instance details

Defined in NumHask.Data.Integral

Integral Natural Source # 
Instance details

Defined in NumHask.Data.Integral

Integral Word Source # 
Instance details

Defined in NumHask.Data.Integral

Methods

div :: Word -> Word -> Word Source #

mod :: Word -> Word -> Word Source #

divMod :: Word -> Word -> (Word, Word) Source #

quot :: Word -> Word -> Word Source #

rem :: Word -> Word -> Word Source #

quotRem :: Word -> Word -> (Word, Word) Source #

Integral Word8 Source # 
Instance details

Defined in NumHask.Data.Integral

Integral Word16 Source # 
Instance details

Defined in NumHask.Data.Integral

Integral Word32 Source # 
Instance details

Defined in NumHask.Data.Integral

Integral Word64 Source # 
Instance details

Defined in NumHask.Data.Integral

Integral a => Integral (Pair a) Source # 
Instance details

Defined in NumHask.Data.Pair

Methods

div :: Pair a -> Pair a -> Pair a Source #

mod :: Pair a -> Pair a -> Pair a Source #

divMod :: Pair a -> Pair a -> (Pair a, Pair a) Source #

quot :: Pair a -> Pair a -> Pair a Source #

rem :: Pair a -> Pair a -> Pair a Source #

quotRem :: Pair a -> Pair a -> (Pair a, Pair a) Source #

Integral a => Integral (Wrapped a) Source # 
Instance details

Defined in NumHask.Data.Wrapped

Methods

div :: Wrapped a -> Wrapped a -> Wrapped a Source #

mod :: Wrapped a -> Wrapped a -> Wrapped a Source #

divMod :: Wrapped a -> Wrapped a -> (Wrapped a, Wrapped a) Source #

quot :: Wrapped a -> Wrapped a -> Wrapped a Source #

rem :: Wrapped a -> Wrapped a -> Wrapped a Source #

quotRem :: Wrapped a -> Wrapped a -> (Wrapped a, Wrapped a) Source #

Integral a => Integral (Positive a) Source # 
Instance details

Defined in NumHask.Data.Positive

Integral b => Integral (a -> b) Source # 
Instance details

Defined in NumHask.Data.Integral

Methods

div :: (a -> b) -> (a -> b) -> a -> b Source #

mod :: (a -> b) -> (a -> b) -> a -> b Source #

divMod :: (a -> b) -> (a -> b) -> (a -> b, a -> b) Source #

quot :: (a -> b) -> (a -> b) -> a -> b Source #

rem :: (a -> b) -> (a -> b) -> a -> b Source #

quotRem :: (a -> b) -> (a -> b) -> (a -> b, a -> b) Source #

class ToInteger a where Source #

toInteger is kept separate from Integral to help with compatability issues.

Methods

toInteger :: a -> Integer Source #

Instances
ToInteger Int Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Int8 Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Int16 Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Int32 Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Int64 Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Integer Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Natural Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Word Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Word8 Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Word16 Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Word32 Source # 
Instance details

Defined in NumHask.Data.Integral

ToInteger Word64 Source # 
Instance details

Defined in NumHask.Data.Integral

(ToInteger a, ExpField a) => ToInteger (LogField a) Source # 
Instance details

Defined in NumHask.Data.LogField

ToInteger a => ToInteger (Wrapped a) Source # 
Instance details

Defined in NumHask.Data.Wrapped

class FromInteger a where Source #

fromInteger is the most problematic of the Num class operators. Particularly heinous, it is assumed that any number type can be constructed from an Integer, so that the broad classes of objects that are composed of multiple elements is avoided in haskell.

Methods

fromInteger :: Integer -> a Source #

Instances
FromInteger Double Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Float Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Int Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Int8 Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Int16 Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Int32 Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Int64 Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Integer Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Natural Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Word Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Word8 Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Word16 Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Word32 Source # 
Instance details

Defined in NumHask.Data.Integral

FromInteger Word64 Source # 
Instance details

Defined in NumHask.Data.Integral

(Additive a, FromInteger a) => FromInteger (Complex a) Source # 
Instance details

Defined in NumHask.Data.Complex

(FromInteger a, Multiplicative a) => FromInteger (Ratio a) Source # 
Instance details

Defined in NumHask.Data.Rational

FromInteger a => FromInteger (Pair a) Source # 
Instance details

Defined in NumHask.Data.Pair

(FromInteger a, ExpField a) => FromInteger (LogField a) Source # 
Instance details

Defined in NumHask.Data.LogField

FromInteger a => FromInteger (Wrapped a) Source # 
Instance details

Defined in NumHask.Data.Wrapped

FromInteger b => FromInteger (a -> b) Source # 
Instance details

Defined in NumHask.Data.Integral

Methods

fromInteger :: Integer -> a -> b Source #

fromIntegral :: (ToInteger a, FromInteger b) => a -> b Source #

coercion of Integrals

fromIntegral a == a

even :: (Eq a, Integral a) => a -> Bool Source #

odd :: (Eq a, Integral a) => a -> Bool Source #

(^) :: (Ord b, Multiplicative a, Integral b) => a -> b -> a Source #

raise a number to a non-negative integral power

(^^) :: (Divisive a, Subtractive b, Integral b, Ord b) => a -> b -> a Source #