Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type CanMeasure a = (Lattice a, Multiplicative a, Show a, Epsilon a)
- isIdempotent :: forall a. CanMeasure a => (Range a -> Range a -> Range a) -> a -> Gen a -> Property
- isCommutative :: forall a. CanMeasure a => (a -> a -> a) -> (Range a -> Range a -> Range a) -> a -> Gen a -> Property
- isUnital :: forall a. CanMeasure a => a -> (a -> a -> a) -> a -> Gen a -> Property
- isAssociative :: forall a. CanMeasure a => (a -> a -> a) -> (Range a -> Range a -> Range a) -> a -> Gen a -> Property
- isAdditive :: forall a. CanMeasure a => a -> Gen a -> [(PropertyName, Property)]
- isSubtractive :: forall a. CanMeasure a => a -> Gen a -> Property
- isMultiplicative :: forall a. CanMeasure a => a -> Gen a -> [(PropertyName, Property)]
- isDivisive :: forall a. (CanMeasure a, BoundedLattice a, Divisive a) => a -> Gen a -> Property
- isDistributiveTimesPlus :: forall a. CanMeasure a => a -> Gen a -> Property
- isDistributiveJoinMeet :: forall a. CanMeasure a => a -> Gen a -> Property
- isZeroAbsorbative :: forall a. CanMeasure a => (a -> a -> a) -> a -> Gen a -> Property
- isAbsorbative :: forall a. CanMeasure a => (a -> a -> a) -> (a -> a -> a) -> (Range a -> Range a -> Range a) -> (Range a -> Range a -> Range a) -> a -> Gen a -> Property
- isSigned :: forall a. (CanMeasure a, Signed a) => a -> Gen a -> Property
- isNormedUnbounded :: forall a. (CanMeasure a, Normed a a) => a -> Gen a -> Property
- isMetricUnbounded :: forall a. (CanMeasure a, Metric a a) => a -> Gen a -> Property
- isExpField :: forall a. (CanMeasure a, ExpField a, Signed a) => a -> Gen a -> Property
- isCommutativeSpace :: forall s. (Epsilon (Element s), Multiplicative (Element s), Show s, Space s) => (s -> s -> s) -> Element s -> Gen s -> Property
- isAssociativeSpace :: forall s. (Epsilon (Element s), Multiplicative (Element s), Show s, Space s) => (s -> s -> s) -> Element s -> Gen s -> Property
- isUnitalSpace :: forall s. (Epsilon (Element s), Multiplicative (Element s), Show s, Space s) => s -> (s -> s -> s) -> Element s -> Gen s -> Property
- isLatticeSpace :: forall s. (Show s, Space s) => Gen s -> Property
- isSubtractiveSpace :: forall s. (Space s, Subtractive s, Eq s, CanMeasure (Element s), Show s) => Gen s -> Property
- isDivisiveSpace :: forall s. (Space s, Divisive s, Eq s, CanMeasure (Element s), Show s) => Gen s -> Property
- isContainedUnion :: forall s. (Epsilon (Element s), Multiplicative (Element s), Show s, Space s) => Element s -> Gen s -> Property
- isProjectiveLower :: forall s. (FieldSpace s, Epsilon (Element s), Show s) => Element s -> Gen s -> Property
- isProjectiveUpper :: forall s. (FieldSpace s, Epsilon (Element s), Show s) => Gen s -> Property
Documentation
type CanMeasure a = (Lattice a, Multiplicative a, Show a, Epsilon a) Source #
individual tests
isIdempotent :: forall a. CanMeasure a => (Range a -> Range a -> Range a) -> a -> Gen a -> Property Source #
isCommutative :: forall a. CanMeasure a => (a -> a -> a) -> (Range a -> Range a -> Range a) -> a -> Gen a -> Property Source #
isAssociative :: forall a. CanMeasure a => (a -> a -> a) -> (Range a -> Range a -> Range a) -> a -> Gen a -> Property Source #
isAdditive :: forall a. CanMeasure a => a -> Gen a -> [(PropertyName, Property)] Source #
isSubtractive :: forall a. CanMeasure a => a -> Gen a -> Property Source #
isMultiplicative :: forall a. CanMeasure a => a -> Gen a -> [(PropertyName, Property)] Source #
isDivisive :: forall a. (CanMeasure a, BoundedLattice a, Divisive a) => a -> Gen a -> Property Source #
isDistributiveTimesPlus :: forall a. CanMeasure a => a -> Gen a -> Property Source #
isDistributiveJoinMeet :: forall a. CanMeasure a => a -> Gen a -> Property Source #
isZeroAbsorbative :: forall a. CanMeasure a => (a -> a -> a) -> a -> Gen a -> Property Source #
isAbsorbative :: forall a. CanMeasure a => (a -> a -> a) -> (a -> a -> a) -> (Range a -> Range a -> Range a) -> (Range a -> Range a -> Range a) -> a -> Gen a -> Property Source #
isNormedUnbounded :: forall a. (CanMeasure a, Normed a a) => a -> Gen a -> Property Source #
isMetricUnbounded :: forall a. (CanMeasure a, Metric a a) => a -> Gen a -> Property Source #
isExpField :: forall a. (CanMeasure a, ExpField a, Signed a) => a -> Gen a -> Property Source #
isCommutativeSpace :: forall s. (Epsilon (Element s), Multiplicative (Element s), Show s, Space s) => (s -> s -> s) -> Element s -> Gen s -> Property Source #
isAssociativeSpace :: forall s. (Epsilon (Element s), Multiplicative (Element s), Show s, Space s) => (s -> s -> s) -> Element s -> Gen s -> Property Source #
isUnitalSpace :: forall s. (Epsilon (Element s), Multiplicative (Element s), Show s, Space s) => s -> (s -> s -> s) -> Element s -> Gen s -> Property Source #
isSubtractiveSpace :: forall s. (Space s, Subtractive s, Eq s, CanMeasure (Element s), Show s) => Gen s -> Property Source #
isDivisiveSpace :: forall s. (Space s, Divisive s, Eq s, CanMeasure (Element s), Show s) => Gen s -> Property Source #
isContainedUnion :: forall s. (Epsilon (Element s), Multiplicative (Element s), Show s, Space s) => Element s -> Gen s -> Property Source #
isProjectiveLower :: forall s. (FieldSpace s, Epsilon (Element s), Show s) => Element s -> Gen s -> Property Source #
isProjectiveUpper :: forall s. (FieldSpace s, Epsilon (Element s), Show s) => Gen s -> Property Source #