Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type CanMeasure a = (Ord a, Fractional 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, LowerBoundedField a, UpperBoundedField a) => a -> Gen a -> Property
- isDistributiveTimesPlus :: 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. (Fractional (Element s), Show s, Space s) => (s -> s -> s) -> Element s -> Gen s -> Property
- isAssociativeSpace :: forall s. (Fractional (Element s), Show s, Space s) => (s -> s -> s) -> Element s -> Gen s -> Property
- isUnitalSpace :: forall s. (Fractional (Element s), Show s, Space s) => s -> (s -> s -> s) -> Element s -> Gen s -> Property
- isLatticeSpace :: forall s. (Show s, Space s, JoinSemiLattice (Element s), MeetSemiLattice (Element 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. (Fractional (Element s), Show s, Space s) => Element s -> Gen s -> Property
- isProjectiveLower :: forall s. (FieldSpace s, Epsilon (Element s), Ord (Element s), Fractional (Element s), Show s) => Element s -> Gen s -> Property
- isProjectiveUpper :: forall s. (FieldSpace s, Epsilon (Element s), Ord (Element s), Fractional (Element s), Show s) => Gen s -> Property
Documentation
type CanMeasure a = (Ord a, Fractional 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, LowerBoundedField a, UpperBoundedField a) => a -> Gen a -> Property Source #
isDistributiveTimesPlus :: 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. (Fractional (Element s), Show s, Space s) => (s -> s -> s) -> Element s -> Gen s -> Property Source #
isAssociativeSpace :: forall s. (Fractional (Element s), Show s, Space s) => (s -> s -> s) -> Element s -> Gen s -> Property Source #
isUnitalSpace :: forall s. (Fractional (Element s), Show s, Space s) => s -> (s -> s -> s) -> Element s -> Gen s -> Property Source #
isLatticeSpace :: forall s. (Show s, Space s, JoinSemiLattice (Element s), MeetSemiLattice (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. (Fractional (Element s), Show s, Space s) => Element s -> Gen s -> Property Source #
isProjectiveLower :: forall s. (FieldSpace s, Epsilon (Element s), Ord (Element s), Fractional (Element s), Show s) => Element s -> Gen s -> Property Source #
isProjectiveUpper :: forall s. (FieldSpace s, Epsilon (Element s), Ord (Element s), Fractional (Element s), Show s) => Gen s -> Property Source #
Orphan instances
(Ord a, Multiplicative a) => Multiplicative (Range a) Source # | |
(Ord a, LowerBoundedField a, UpperBoundedField a, Epsilon a, Divisive a) => Divisive (Range a) Source # | |
(Ord a, Additive a) => Additive (Range a) Source # | Numeric algebra based on Interval arithmetic https://en.wikipedia.org/wiki/Interval_arithmetic |
(Ord a, Subtractive a) => Subtractive (Range a) Source # | |