| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
NumHask.Algebra.Integral
Description
Integral classes
Synopsis
- class Semiring a => Integral a where
- class ToInteger a where
- class FromInteger a where
- fromIntegral :: (ToInteger a, FromInteger b) => a -> b
- even :: (Eq a, Integral a) => a -> Bool
- odd :: (Eq a, Integral a) => a -> Bool
- (^) :: (Ord b, Integral b, Multiplicative a) => a -> b -> a
- (^^) :: MultiplicativeGroup a => a -> Integer -> a
Documentation
class Semiring a => Integral a where #
Integral laws
b == zero || b * (a `div` b) + (a `mod` b) == a
Methods
toInteger is kept separate from Integral to help with compatability issues.
Minimal complete definition
Instances
| ToInteger Int # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Int8 # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Int16 # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Int32 # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Int64 # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Integer # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Natural # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Word # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Word8 # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Word16 # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Word32 # | |
Defined in NumHask.Algebra.Integral | |
| ToInteger Word64 # | |
Defined in NumHask.Algebra.Integral | |
| (ToInteger a, ExpField a) => ToInteger (LogField a) # | |
Defined in NumHask.Data.LogField | |
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
Methods
fromInteger :: Integer -> a #
Instances
fromIntegral :: (ToInteger a, FromInteger b) => a -> b #
coercion of Integrals
fromIntegral a == a
(^) :: (Ord b, Integral b, Multiplicative a) => a -> b -> a #
raise a number to a non-negative integral power
(^^) :: MultiplicativeGroup a => a -> Integer -> a #