numhask-hedgehog-0.4.0: 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 #

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. (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 #

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 #

Orphan instances

(Ord a, Multiplicative a) => Multiplicative (Range a) Source # 
Instance details

Methods

(*) :: Range a -> Range a -> Range a #

one :: Range a #

(Ord a, LowerBoundedField a, UpperBoundedField a, Epsilon a, Divisive a) => Divisive (Range a) Source # 
Instance details

Methods

recip :: Range a -> Range a #

(/) :: Range a -> Range a -> Range a #

(Ord a, Additive a) => Additive (Range a) Source #

Numeric algebra based on Interval arithmetic https://en.wikipedia.org/wiki/Interval_arithmetic

Instance details

Methods

(+) :: Range a -> Range a -> Range a #

zero :: Range a #

(Ord a, Subtractive a) => Subtractive (Range a) Source # 
Instance details

Methods

negate :: Range a -> Range a #

(-) :: Range a -> Range a -> Range a #