numhask-hedgehog-0.3: Laws and tests for numhask

Safe HaskellNone
LanguageHaskell2010

NumHask.Hedgehog.Prop.Space

Contents

Synopsis

Documentation

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 #

isUnital :: forall a. CanMeasure a => a -> (a -> a -> 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 #

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 #

isSigned :: forall a. (CanMeasure a, Signed 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 #

isLatticeSpace :: forall s. (Show s, Space s) => Gen s -> Property Source #

isDivisiveSpace :: forall s. (Space s, Divisive s, Eq s, CanMeasure (Element s), Show s) => Gen s -> Property Source #

isProjectiveLower :: forall s. (FieldSpace s, Epsilon (Element s), Show s) => Element s -> Gen s -> Property Source #