Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- type Natural = Integer
- newtype Sum a = Sum {
- fromSum :: a
- newtype Product a = Product {
- fromProduct :: a
- newtype Exponential a = Exponential {
- fromExponential :: a
- timesDefault :: (Additive a2, Integral a1) => a1 -> a2 -> a2
- class Additive a where
- class (Arbitrary a, Show a) => TestEqual a where
- nameLaw :: Testable prop => String -> prop -> Property
- law_zero_plus :: forall a. (Additive a, TestEqual a) => a -> Property
- law_plus_zero :: (Additive a, TestEqual a) => a -> Property
- law_plus_assoc :: (Additive a, TestEqual a) => a -> a -> a -> Property
- law_times :: (TestEqual a, Additive a) => Positive Integer -> a -> Property
- laws_additive :: forall a. (Additive a, TestEqual a) => Property
- sum :: (Foldable t, Additive a) => t a -> a
- class Additive r => DecidableZero r where
- law_decidable_zero :: forall a. (DecidableZero a, TestEqual a) => Property
- class Additive a => AbelianAdditive a
- law_plus_comm :: (TestEqual a, Additive a) => a -> a -> Property
- laws_abelian_additive :: forall a. (Group a, TestEqual a) => Property
- multDefault :: Group a => Natural -> a -> a
- class Additive a => Group a where
- law_negate_minus :: (TestEqual a, Group a) => a -> a -> Property
- law_mult :: (TestEqual a, Group a) => Integer -> a -> Property
- laws_group :: forall a. (Group a, TestEqual a) => Property
- laws_abelian_group :: forall a. (Group a, TestEqual a) => Property
- class (AbelianAdditive a, PreRing scalar) => Module scalar a where
- (*^) :: scalar -> a -> a
- law_module_zero :: forall s a. (Module s a, TestEqual a) => s -> Property
- law_module_one :: forall s a. (Module s a, TestEqual a) => a -> Property
- law_module_sum :: forall s a. (Module s a, TestEqual a) => s -> a -> a -> Property
- law_module_sum_left :: forall s a. (Module s a, TestEqual a) => s -> s -> a -> Property
- law_module_mul :: forall s a. (Module s a, TestEqual a) => s -> s -> a -> Property
- laws_module :: forall s a. (Module s a, TestEqual a, Arbitrary s, Show s) => Property
- class Multiplicative a where
- product :: (Multiplicative a, Foldable f) => f a -> a
- type SemiRing a = (Multiplicative a, AbelianAdditive a)
- type PreRing a = (SemiRing a, Group a)
- fromIntegerDefault :: PreRing a => Integer -> a
- class (Module a a, PreRing a) => Ring a where
- fromInteger :: Integer -> a
- class Multiplicative a => Division a where
- class (Ring a, Division a) => Field a where
- fromRational :: Rational -> a
- class Ring a => EuclideanDomain a where
- class (Real a, Enum a, EuclideanDomain a) => Integral a where
- gcd :: Integral a => a -> a -> a
- ifThenElse :: Bool -> t -> t -> t
Documentation
Product | |
|
Instances
Multiplicative a => Semigroup (Product a) Source # | |
Multiplicative a => Monoid (Product a) Source # | |
newtype Exponential a Source #
Instances
Group a => Division (Exponential a) Source # | |
Defined in Algebra.Classes recip :: Exponential a -> Exponential a Source # (/) :: Exponential a -> Exponential a -> Exponential a Source # (^) :: Exponential a -> Integer -> Exponential a Source # | |
Additive a => Multiplicative (Exponential a) Source # | |
Defined in Algebra.Classes (*) :: Exponential a -> Exponential a -> Exponential a Source # one :: Exponential a Source # (^+) :: Exponential a -> Natural -> Exponential a Source # |
timesDefault :: (Additive a2, Integral a1) => a1 -> a2 -> a2 Source #
class Additive a where Source #
Additive monoid
Instances
Additive Double Source # | |
Additive Float Source # | |
Additive Int Source # | |
Additive Integer Source # | |
Additive Word8 Source # | |
Additive Word16 Source # | |
Additive Word32 Source # | |
Additive CInt Source # | |
Integral a => Additive (Ratio a) Source # | |
Additive a => Additive (Complex a) Source # | |
(Ord k, Additive v) => Additive (Map k v) Source # | |
(Applicative f, Additive a) => Additive (Euclid f a) Source # | |
(Applicative f, Applicative g, Additive a) => Additive (Mat a f g) Source # | |
class Additive r => DecidableZero r where Source #
Instances
law_decidable_zero :: forall a. (DecidableZero a, TestEqual a) => Property Source #
class Additive a => AbelianAdditive a Source #
Instances
AbelianAdditive Double Source # | |
Defined in Algebra.Classes | |
AbelianAdditive Float Source # | |
Defined in Algebra.Classes | |
AbelianAdditive Int Source # | |
Defined in Algebra.Classes | |
AbelianAdditive Integer Source # | |
Defined in Algebra.Classes | |
AbelianAdditive CInt Source # | |
Defined in Algebra.Classes | |
Integral a => AbelianAdditive (Ratio a) Source # | |
Defined in Algebra.Classes | |
AbelianAdditive a => AbelianAdditive (Complex a) Source # | |
Defined in Algebra.Classes | |
(Ord k, AbelianAdditive v) => AbelianAdditive (Map k v) Source # | |
Defined in Algebra.Classes | |
(Applicative f, AbelianAdditive a) => AbelianAdditive (Euclid f a) Source # | |
Defined in Algebra.Linear | |
(Applicative f, Applicative g, AbelianAdditive a) => AbelianAdditive (Mat a f g) Source # | |
Defined in Algebra.Linear |
multDefault :: Group a => Natural -> a -> a Source #
class Additive a => Group a where Source #
Instances
Group Double Source # | |
Group Float Source # | |
Group Int Source # | |
Group Integer Source # | |
Group Word8 Source # | |
Group Word16 Source # | |
Group Word32 Source # | |
Group CInt Source # | |
Integral a => Group (Ratio a) Source # | |
Group a => Group (Complex a) Source # | |
(Ord k, Group v) => Group (Map k v) Source # | |
(Applicative f, Group a) => Group (Euclid f a) Source # | |
(Applicative f, Applicative g, Group a) => Group (Mat a f g) Source # | |
class (AbelianAdditive a, PreRing scalar) => Module scalar a where Source #
Module
Instances
Module Double Double Source # | |
Module Float Float Source # | |
Module Int Int Source # | |
Module Integer Integer Source # | |
Module Rational Double Source # | |
Module CInt CInt Source # | |
Ring a => Module a (Complex a) Source # | |
(Ord k, Module a b) => Module a (Map k b) Source # | |
(Applicative f, Module s a) => Module s (Euclid f a) Source # | |
(Applicative f, Applicative g, Module s a) => Module s (Mat a f g) Source # | |
Integral a => Module (Ratio a) (Ratio a) Source # | |
Ring a => Module (Complex a) (Complex a) Source # | |
class Multiplicative a where Source #
Multiplicative monoid
Instances
Multiplicative Double Source # | |
Multiplicative Float Source # | |
Multiplicative Int Source # | |
Multiplicative Integer Source # | |
Multiplicative Word8 Source # | |
Multiplicative Word16 Source # | |
Multiplicative Word32 Source # | |
Multiplicative Property Source # | |
Multiplicative CInt Source # | |
Integral a => Multiplicative (Ratio a) Source # | |
Ring a => Multiplicative (Complex a) Source # | |
Additive a => Multiplicative (Exponential a) Source # | |
Defined in Algebra.Classes (*) :: Exponential a -> Exponential a -> Exponential a Source # one :: Exponential a Source # (^+) :: Exponential a -> Natural -> Exponential a Source # | |
(Ring s, Applicative v, Traversable v) => Multiplicative (OrthoMat v s) Source # | |
product :: (Multiplicative a, Foldable f) => f a -> a Source #
type SemiRing a = (Multiplicative a, AbelianAdditive a) Source #
fromIntegerDefault :: PreRing a => Integer -> a Source #
class (Module a a, PreRing a) => Ring a where Source #
Nothing
fromInteger :: Integer -> a Source #
Instances
Ring Double Source # | |
Defined in Algebra.Classes fromInteger :: Integer -> Double Source # | |
Ring Float Source # | |
Defined in Algebra.Classes fromInteger :: Integer -> Float Source # | |
Ring Int Source # | |
Defined in Algebra.Classes fromInteger :: Integer -> Int Source # | |
Ring Integer Source # | |
Defined in Algebra.Classes fromInteger :: Integer -> Integer Source # | |
Ring CInt Source # | |
Defined in Algebra.Classes fromInteger :: Integer -> CInt Source # | |
Integral a => Ring (Ratio a) Source # | |
Defined in Algebra.Classes fromInteger :: Integer -> Ratio a Source # | |
Ring a => Ring (Complex a) Source # | |
Defined in Algebra.Classes fromInteger :: Integer -> Complex a Source # |
class Multiplicative a => Division a where Source #
Instances
Division Double Source # | |
Division Float Source # | |
Integral a => Division (Ratio a) Source # | |
Field a => Division (Complex a) Source # | |
Group a => Division (Exponential a) Source # | |
Defined in Algebra.Classes recip :: Exponential a -> Exponential a Source # (/) :: Exponential a -> Exponential a -> Exponential a Source # (^) :: Exponential a -> Integer -> Exponential a Source # | |
(Ring s, Applicative v, Traversable v) => Division (OrthoMat v s) Source # | |
class (Ring a, Division a) => Field a where Source #
Nothing
fromRational :: Rational -> a Source #
Instances
Field Double Source # | |
Defined in Algebra.Classes fromRational :: Rational -> Double Source # | |
Field Float Source # | |
Defined in Algebra.Classes fromRational :: Rational -> Float Source # | |
Integral a => Field (Ratio a) Source # | |
Defined in Algebra.Classes fromRational :: Rational -> Ratio a Source # | |
Field a => Field (Complex a) Source # | |
Defined in Algebra.Classes fromRational :: Rational -> Complex a Source # |
class Ring a => EuclideanDomain a where Source #
stdAssociate :: a -> a Source #
normalize :: a -> (a, a) Source #
div :: a -> a -> a infixl 7 Source #
Instances
EuclideanDomain Int Source # | |
EuclideanDomain Integer Source # | |
Defined in Algebra.Classes | |
EuclideanDomain CInt Source # | |
class (Real a, Enum a, EuclideanDomain a) => Integral a where Source #
ifThenElse :: Bool -> t -> t -> t Source #