numhask-0.2.3.1: numeric classes

Safe HaskellNone
LanguageHaskell2010

NumHask.Algebra.Integral

Description

Integral classes

Synopsis

Documentation

class Semiring 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 # 

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 # 

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 # 
Integral Int32 Source # 
Integral Int64 Source # 
Integral Integer Source # 
Integral Natural Source # 
Integral Word Source # 

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 # 
Integral Word16 Source # 
Integral Word32 Source # 
Integral Word64 Source # 

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.

Minimal complete definition

fromInteger

Methods

fromInteger :: Integer -> a 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, Integral b, Multiplicative a) => a -> b -> a Source #

raise a number to a non-negative integral power