| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Basement.Numerical.Multiplicative
Synopsis
- class Multiplicative a where
- class (Additive a, Multiplicative a) => IDivisible a where
- class Multiplicative a => Divisible a where
- (/) :: a -> a -> a
- recip :: Divisible a => a -> a
Documentation
class Multiplicative a where #
Represent class of things that can be multiplied together
x * midentity = x midentity * x = x
Methods
Identity element over multiplication
Multiplication of 2 elements that result in another element
(^) :: (IsNatural n, Enum n, IDivisible n) => a -> n -> a infixr 8 #
Raise to power, repeated multiplication e.g. > a ^ 2 = a * a > a ^ 10 = (a ^ 5) * (a ^ 5) .. (^) :: (IsNatural n) => a -> n -> a
Instances
class (Additive a, Multiplicative a) => IDivisible a where #
Represent types that supports an euclidian division
(x ‘div‘ y) * y + (x ‘mod‘ y) == x
Instances
| IDivisible Word128 # | |
| IDivisible Word256 # | |
| IDivisible CChar # | |
| IDivisible CInt # | |
| IDivisible CIntMax # | |
| IDivisible CIntPtr # | |
| IDivisible CLLong # | |
| IDivisible CLong # | |
| IDivisible CPtrdiff # | |
| IDivisible CSChar # | |
| IDivisible CShort # | |
| IDivisible CSigAtomic # | |
Defined in Basement.Numerical.Multiplicative Methods div :: CSigAtomic -> CSigAtomic -> CSigAtomic # mod :: CSigAtomic -> CSigAtomic -> CSigAtomic # divMod :: CSigAtomic -> CSigAtomic -> (CSigAtomic, CSigAtomic) # | |
| IDivisible CSize # | |
| IDivisible CUChar # | |
| IDivisible CUInt # | |
| IDivisible CUIntMax # | |
| IDivisible CUIntPtr # | |
| IDivisible CULLong # | |
| IDivisible CULong # | |
| IDivisible CUShort # | |
| IDivisible CWchar # | |
| IDivisible Int16 # | |
| IDivisible Int32 # | |
| IDivisible Int64 # | |
| IDivisible Int8 # | |
| IDivisible Word16 # | |
| IDivisible Word32 # | |
| IDivisible Word64 # | |
| IDivisible Word8 # | |
| IDivisible Integer # | |
| IDivisible Natural # | |
| IDivisible Int # | |
| IDivisible Word # | |
| SizeValid n => IDivisible (Bits n) # | |