numhask-0.2.3.1: numeric classes

Safe HaskellNone
LanguageHaskell2010

NumHask.Algebra.Integral

Description

Integral classes

Synopsis

Documentation

class Semiring a => Integral a where #

Integral laws

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

Minimal complete definition

divMod, quotRem

Methods

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

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

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

quot :: a -> a -> a #

rem :: a -> a -> a #

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

Instances
Integral Int # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

div :: Int -> Int -> Int #

mod :: Int -> Int -> Int #

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

quot :: Int -> Int -> Int #

rem :: Int -> Int -> Int #

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

Integral Int8 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

div :: Int8 -> Int8 -> Int8 #

mod :: Int8 -> Int8 -> Int8 #

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

quot :: Int8 -> Int8 -> Int8 #

rem :: Int8 -> Int8 -> Int8 #

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

Integral Int16 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

div :: Int16 -> Int16 -> Int16 #

mod :: Int16 -> Int16 -> Int16 #

divMod :: Int16 -> Int16 -> (Int16, Int16) #

quot :: Int16 -> Int16 -> Int16 #

rem :: Int16 -> Int16 -> Int16 #

quotRem :: Int16 -> Int16 -> (Int16, Int16) #

Integral Int32 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

div :: Int32 -> Int32 -> Int32 #

mod :: Int32 -> Int32 -> Int32 #

divMod :: Int32 -> Int32 -> (Int32, Int32) #

quot :: Int32 -> Int32 -> Int32 #

rem :: Int32 -> Int32 -> Int32 #

quotRem :: Int32 -> Int32 -> (Int32, Int32) #

Integral Int64 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

div :: Int64 -> Int64 -> Int64 #

mod :: Int64 -> Int64 -> Int64 #

divMod :: Int64 -> Int64 -> (Int64, Int64) #

quot :: Int64 -> Int64 -> Int64 #

rem :: Int64 -> Int64 -> Int64 #

quotRem :: Int64 -> Int64 -> (Int64, Int64) #

Integral Integer # 
Instance details

Defined in NumHask.Algebra.Integral

Integral Natural # 
Instance details

Defined in NumHask.Algebra.Integral

Integral Word # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

div :: Word -> Word -> Word #

mod :: Word -> Word -> Word #

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

quot :: Word -> Word -> Word #

rem :: Word -> Word -> Word #

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

Integral Word8 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

div :: Word8 -> Word8 -> Word8 #

mod :: Word8 -> Word8 -> Word8 #

divMod :: Word8 -> Word8 -> (Word8, Word8) #

quot :: Word8 -> Word8 -> Word8 #

rem :: Word8 -> Word8 -> Word8 #

quotRem :: Word8 -> Word8 -> (Word8, Word8) #

Integral Word16 # 
Instance details

Defined in NumHask.Algebra.Integral

Integral Word32 # 
Instance details

Defined in NumHask.Algebra.Integral

Integral Word64 # 
Instance details

Defined in NumHask.Algebra.Integral

class ToInteger a where #

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

Minimal complete definition

toInteger

Methods

toInteger :: a -> Integer #

Instances
ToInteger Int # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Int -> Integer #

ToInteger Int8 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Int8 -> Integer #

ToInteger Int16 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Int16 -> Integer #

ToInteger Int32 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Int32 -> Integer #

ToInteger Int64 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Int64 -> Integer #

ToInteger Integer # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Integer -> Integer #

ToInteger Natural # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Natural -> Integer #

ToInteger Word # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Word -> Integer #

ToInteger Word8 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Word8 -> Integer #

ToInteger Word16 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Word16 -> Integer #

ToInteger Word32 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Word32 -> Integer #

ToInteger Word64 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

toInteger :: Word64 -> Integer #

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

Defined in NumHask.Data.LogField

Methods

toInteger :: LogField a -> Integer #

class FromInteger a where #

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.

Minimal complete definition

fromInteger

Methods

fromInteger :: Integer -> a #

Instances
FromInteger Double # 
Instance details

Defined in NumHask.Algebra.Integral

FromInteger Float # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

fromInteger :: Integer -> Float #

FromInteger Int # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

fromInteger :: Integer -> Int #

FromInteger Int8 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

fromInteger :: Integer -> Int8 #

FromInteger Int16 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

fromInteger :: Integer -> Int16 #

FromInteger Int32 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

fromInteger :: Integer -> Int32 #

FromInteger Int64 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

fromInteger :: Integer -> Int64 #

FromInteger Integer # 
Instance details

Defined in NumHask.Algebra.Integral

FromInteger Natural # 
Instance details

Defined in NumHask.Algebra.Integral

FromInteger Word # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

fromInteger :: Integer -> Word #

FromInteger Word8 # 
Instance details

Defined in NumHask.Algebra.Integral

Methods

fromInteger :: Integer -> Word8 #

FromInteger Word16 # 
Instance details

Defined in NumHask.Algebra.Integral

FromInteger Word32 # 
Instance details

Defined in NumHask.Algebra.Integral

FromInteger Word64 # 
Instance details

Defined in NumHask.Algebra.Integral

(FromInteger a, MultiplicativeUnital a) => FromInteger (Ratio a) # 
Instance details

Defined in NumHask.Algebra.Rational

Methods

fromInteger :: Integer -> Ratio a #

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

Defined in NumHask.Data.LogField

Methods

fromInteger :: Integer -> LogField a #

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

coercion of Integrals

fromIntegral a == a

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

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

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

raise a number to a non-negative integral power

(^^) :: MultiplicativeGroup a => a -> Integer -> a #