Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data LawArity a
- data LawArity2 a b
- type Law a = (TestName, LawArity a)
- type Law2 a b = (TestName, LawArity2 a b)
- testLawOf :: (Arbitrary a, Show a) => [a] -> Law a -> TestTree
- testLawOf2 :: (Arbitrary a, Show a, Arbitrary b, Show b) => [(a, b)] -> Law2 a b -> TestTree
- idempotentLaws :: (Eq a, Additive a, Multiplicative a) => [Law a]
- additiveLaws :: (Eq a, Additive a) => [Law a]
- additiveLawsFail :: (Eq a, Additive a, Show a, Arbitrary a) => [Law a]
- additiveGroupLaws :: (Eq a, AdditiveGroup a) => [Law a]
- multiplicativeLaws :: (Eq a, Multiplicative a) => [Law a]
- multiplicativeLawsFail :: (Eq a, Show a, Arbitrary a, Multiplicative a) => [Law a]
- multiplicativeMonoidalLaws :: (Eq a, MultiplicativeUnital a) => [Law a]
- multiplicativeGroupLaws :: (Epsilon a, Eq a, MultiplicativeGroup a) => [Law a]
- distributionLaws :: (Eq a, Distribution a) => [Law a]
- distributionLawsFail :: (Show a, Arbitrary a, Epsilon a, Eq a, Distribution a) => [Law a]
- integralLaws :: (Eq a, Integral a, FromInteger a, ToInteger a) => [Law a]
- signedLaws :: (Eq a, Signed a) => [Law a]
- metricFloatLaws :: [Law Float]
- metricComplexFloatLaws :: [Law (Complex Float)]
- boundedFieldFloatLaws :: [Law Float]
- quotientFieldLaws :: (Ord a, Field a, QuotientField a, FromInteger a) => [Law a]
- expFieldLaws :: (ExpField a, Signed a, Epsilon a, Fractional a, Ord a) => [Law a]
- expFieldComplexLooseLaws :: Float -> [Law (Complex Float)]
- additiveBasisLaws :: (Eq (r a), Epsilon (r a), AdditiveBasis r a) => [Law (r a)]
- additiveGroupBasisLaws :: (Eq (r a), Singleton r, AdditiveGroupBasis r a) => [Law (r a)]
- multiplicativeBasisLaws :: (Eq (r a), Singleton r, MultiplicativeBasis r a) => [Law (r a)]
- multiplicativeGroupBasisLaws :: (Eq (r a), Epsilon a, Epsilon (r a), Singleton r, MultiplicativeGroupBasis r a) => [Law (r a)]
- additiveModuleLaws :: (Eq (r a), Epsilon a, Epsilon (r a), AdditiveModule r a) => [Law2 (r a) a]
- additiveGroupModuleLaws :: (Eq (r a), Epsilon a, Epsilon (r a), AdditiveGroupModule r a) => [Law2 (r a) a]
- multiplicativeModuleLaws :: (Eq (r a), Epsilon a, Epsilon (r a), MultiplicativeModule r a) => [Law2 (r a) a]
- multiplicativeGroupModuleLawsFail :: (Eq a, Eq (r a), Epsilon a, Epsilon (r a), MultiplicativeGroupModule r a) => [Law2 (r a) a]
- expFieldNaperianLaws :: (ExpField (r a), Foldable r, ExpField a, Epsilon a, Signed a, Epsilon (r a), Fractional a, Ord a) => [Law (r a)]
- metricNaperianFloatLaws :: Metric (r Float) Float => [Law (r Float)]
- tensorProductLaws :: (Eq (r (r a)), Additive (r (r a)), TensorProduct (r a), Epsilon (r a)) => [Law2 (r a) a]
- banachLaws :: (Ord a, Fractional a, Signed a, Foldable r, Eq (r a), Epsilon (r a), Banach r a, Singleton r) => [Law2 (r a) b]
- hilbertLaws :: (Eq a, MultiplicativeModule r a, Epsilon a, Epsilon (r a), Hilbert r a) => [Law2 (r a) a]
- semiringLaws :: (Eq a, Semiring a) => [Law a]
- ringLaws :: (Eq a, Ring a) => [Law a]
- starSemiringLaws :: (Eq a, StarSemiring a) => [Law a]
Documentation
testLawOf2 :: (Arbitrary a, Show a, Arbitrary b, Show b) => [(a, b)] -> Law2 a b -> TestTree Source #
idempotentLaws :: (Eq a, Additive a, Multiplicative a) => [Law a] Source #
additiveGroupLaws :: (Eq a, AdditiveGroup a) => [Law a] Source #
multiplicativeLaws :: (Eq a, Multiplicative a) => [Law a] Source #
multiplicativeLawsFail :: (Eq a, Show a, Arbitrary a, Multiplicative a) => [Law a] Source #
multiplicativeMonoidalLaws :: (Eq a, MultiplicativeUnital a) => [Law a] Source #
multiplicativeGroupLaws :: (Epsilon a, Eq a, MultiplicativeGroup a) => [Law a] Source #
distributionLaws :: (Eq a, Distribution a) => [Law a] Source #
distributionLawsFail :: (Show a, Arbitrary a, Epsilon a, Eq a, Distribution a) => [Law a] Source #
integralLaws :: (Eq a, Integral a, FromInteger a, ToInteger a) => [Law a] Source #
metricFloatLaws :: [Law Float] Source #
boundedFieldFloatLaws :: [Law Float] Source #
quotientFieldLaws :: (Ord a, Field a, QuotientField a, FromInteger a) => [Law a] Source #
expFieldLaws :: (ExpField a, Signed a, Epsilon a, Fractional a, Ord a) => [Law a] Source #
additiveBasisLaws :: (Eq (r a), Epsilon (r a), AdditiveBasis r a) => [Law (r a)] Source #
additiveGroupBasisLaws :: (Eq (r a), Singleton r, AdditiveGroupBasis r a) => [Law (r a)] Source #
multiplicativeBasisLaws :: (Eq (r a), Singleton r, MultiplicativeBasis r a) => [Law (r a)] Source #
multiplicativeGroupBasisLaws :: (Eq (r a), Epsilon a, Epsilon (r a), Singleton r, MultiplicativeGroupBasis r a) => [Law (r a)] Source #
additiveModuleLaws :: (Eq (r a), Epsilon a, Epsilon (r a), AdditiveModule r a) => [Law2 (r a) a] Source #
additiveGroupModuleLaws :: (Eq (r a), Epsilon a, Epsilon (r a), AdditiveGroupModule r a) => [Law2 (r a) a] Source #
multiplicativeModuleLaws :: (Eq (r a), Epsilon a, Epsilon (r a), MultiplicativeModule r a) => [Law2 (r a) a] Source #
multiplicativeGroupModuleLawsFail :: (Eq a, Eq (r a), Epsilon a, Epsilon (r a), MultiplicativeGroupModule r a) => [Law2 (r a) a] Source #
expFieldNaperianLaws :: (ExpField (r a), Foldable r, ExpField a, Epsilon a, Signed a, Epsilon (r a), Fractional a, Ord a) => [Law (r a)] Source #
tensorProductLaws :: (Eq (r (r a)), Additive (r (r a)), TensorProduct (r a), Epsilon (r a)) => [Law2 (r a) a] Source #
banachLaws :: (Ord a, Fractional a, Signed a, Foldable r, Eq (r a), Epsilon (r a), Banach r a, Singleton r) => [Law2 (r a) b] Source #
hilbertLaws :: (Eq a, MultiplicativeModule r a, Epsilon a, Epsilon (r a), Hilbert r a) => [Law2 (r a) a] Source #
starSemiringLaws :: (Eq a, StarSemiring a) => [Law a] Source #
starsemiring