| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
NumHask.Analysis.Metric
Description
Metric classes
Synopsis
- class Multiplicative a => Signed a where
- class (Additive a, Additive b) => Normed a b where
- norm :: a -> b
- class Metric a b where
- distance :: a -> a -> b
- class (Eq a, Additive a, Subtractive a, MeetSemiLattice a) => Epsilon a where
- epsilon :: a
- nearZero :: a -> Bool
- aboutEqual :: a -> a -> Bool
- (~=) :: Epsilon a => a -> a -> Bool
Documentation
class Multiplicative a => Signed a where Source #
signum from base is not an operator replicated in numhask, being such a very silly name, and preferred is the much more obvious sign. Compare with Norm where there is a change in codomain
abs a * sign a == a
Generalising this class tends towards size and direction (abs is the size on the one-dim number line of a vector with its tail at zero, and sign is the direction, right?).
Instances
| Signed Double Source # | |
| Signed Float Source # | |
| Signed Int Source # | |
| Signed Int8 Source # | |
| Signed Int16 Source # | |
| Signed Int32 Source # | |
| Signed Int64 Source # | |
| Signed Integer Source # | |
| Signed Natural Source # | |
| Signed Word Source # | |
| Signed Word8 Source # | |
| Signed Word16 Source # | |
| Signed Word32 Source # | |
| Signed Word64 Source # | |
| GCDConstraints a => Signed (Ratio a) Source # | |
| Signed a => Signed (Pair a) Source # | |
| (Ord a, LowerBoundedField a, UpperBoundedField a, ExpField a) => Signed (LogField a) Source # | |
| Signed a => Signed (Wrapped a) Source # | |
| Signed a => Signed (Positive a) Source # | |
class (Additive a, Additive b) => Normed a b where Source #
Cab be Normed
norm a >= zero norm zero == zero
Note that the Normed codomain can be different to the domain.
Instances
| Normed Double Double Source # | |
| Normed Float Float Source # | |
| Normed Int Int Source # | |
| Normed Int8 Int8 Source # | |
| Normed Int16 Int16 Source # | |
| Normed Int32 Int32 Source # | |
| Normed Int64 Int64 Source # | |
| Normed Integer Integer Source # | |
| Normed Natural Natural Source # | |
| Normed Word Word Source # | |
| Normed Word8 Word8 Source # | |
| Normed Word16 Word16 Source # | |
| Normed Word32 Word32 Source # | |
| Normed Word64 Word64 Source # | |
| Normed a a => Normed a (Positive a) Source # | |
Defined in NumHask.Data.Positive | |
| (ExpField a, Normed a a) => Normed (Complex a) a Source # | |
Defined in NumHask.Data.Complex | |
| (ExpField a, Normed a a) => Normed (Pair a) a Source # | |
Defined in NumHask.Data.Pair | |
| GCDConstraints a => Normed (Ratio a) (Ratio a) Source # | |
| Normed a a => Normed (Pair a) (Pair a) Source # | |
| Normed a b => Normed (Wrapped a) (Wrapped b) Source # | |
class Metric a b where Source #
distance between numbers using L1 norm
distance a b >= zero distance a a == zero
Instances
| Metric Double Double Source # | |
| Metric Float Float Source # | |
| Metric Int Int Source # | |
| Metric Int8 Int8 Source # | |
| Metric Int16 Int16 Source # | |
| Metric Int32 Int32 Source # | |
| Metric Int64 Int64 Source # | |
| Metric Integer Integer Source # | |
| Metric Natural Natural Source # | |
| Metric Word Word Source # | |
| Metric Word8 Word8 Source # | |
| Metric Word16 Word16 Source # | |
| Metric Word32 Word32 Source # | |
| Metric Word64 Word64 Source # | |
| (Subtractive a, Normed a a) => Metric a (Positive a) Source # | |
Defined in NumHask.Data.Positive | |
| (Subtractive a, ExpField a, Normed a a) => Metric (Complex a) a Source # | |
| (ExpField a, Subtractive a, Normed a a) => Metric (Pair a) a Source # | |
| GCDConstraints a => Metric (Ratio a) (Ratio a) Source # | |
| (Subtractive a, Normed a a) => Metric (Pair a) (Pair a) Source # | |
| Metric a b => Metric (Wrapped a) (Wrapped b) Source # | |
class (Eq a, Additive a, Subtractive a, MeetSemiLattice a) => Epsilon a where Source #
Minimal complete definition
Nothing
Instances
| Epsilon Double Source # | |
| Epsilon Float Source # | |
| Epsilon Int Source # | |
| Epsilon Int8 Source # | |
| Epsilon Int16 Source # | |
| Epsilon Int32 Source # | |
| Epsilon Int64 Source # | |
| Epsilon Integer Source # | |
| Epsilon Word Source # | |
| Epsilon Word8 Source # | |
| Epsilon Word16 Source # | |
| Epsilon Word32 Source # | |
| Epsilon Word64 Source # | |
| (Ord a, Signed a, Subtractive a, Epsilon a) => Epsilon (Complex a) Source # | |
| (GCDConstraints a, MeetSemiLattice a) => Epsilon (Ratio a) Source # | |
| (Subtractive a, Epsilon a) => Epsilon (Pair a) Source # | |
| (Epsilon a, ExpField a, LowerBoundedField a, UpperBoundedField a, Ord a) => Epsilon (LogField a) Source # | |
| Epsilon a => Epsilon (Wrapped a) Source # | |
| (Epsilon a, Ord a) => Epsilon (Positive a) Source # | |