numhask-0.6.0.2: numeric classes

Safe HaskellNone
LanguageHaskell2010

NumHask.Analysis.Metric

Description

Metric classes

Synopsis

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?).

Methods

sign :: a -> a Source #

abs :: a -> a Source #

Instances
Signed Double Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Float Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Int Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

sign :: Int -> Int Source #

abs :: Int -> Int Source #

Signed Int8 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

sign :: Int8 -> Int8 Source #

abs :: Int8 -> Int8 Source #

Signed Int16 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Int32 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Int64 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Integer Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Natural Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Word Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

sign :: Word -> Word Source #

abs :: Word -> Word Source #

Signed Word8 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Word16 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Word32 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Signed Word64 Source # 
Instance details

Defined in NumHask.Analysis.Metric

GCDConstraints a => Signed (Ratio a) Source # 
Instance details

Defined in NumHask.Data.Rational

Methods

sign :: Ratio a -> Ratio a Source #

abs :: Ratio a -> Ratio a Source #

Signed a => Signed (Pair a) Source # 
Instance details

Defined in NumHask.Data.Pair

Methods

sign :: Pair a -> Pair a Source #

abs :: Pair a -> Pair a Source #

(Ord a, LowerBoundedField a, UpperBoundedField a, ExpField a) => Signed (LogField a) Source # 
Instance details

Defined in NumHask.Data.LogField

Signed a => Signed (Wrapped a) Source # 
Instance details

Defined in NumHask.Data.Wrapped

Methods

sign :: Wrapped a -> Wrapped a Source #

abs :: Wrapped a -> Wrapped a Source #

Signed a => Signed (Positive a) Source # 
Instance details

Defined in NumHask.Data.Positive

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.

Methods

norm :: a -> b Source #

Instances
Normed Double Double Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Double -> Double Source #

Normed Float Float Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Float -> Float Source #

Normed Int Int Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Int -> Int Source #

Normed Int8 Int8 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Int8 -> Int8 Source #

Normed Int16 Int16 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Int16 -> Int16 Source #

Normed Int32 Int32 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Int32 -> Int32 Source #

Normed Int64 Int64 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Int64 -> Int64 Source #

Normed Integer Integer Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Integer -> Integer Source #

Normed Natural Natural Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Natural -> Natural Source #

Normed Word Word Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Word -> Word Source #

Normed Word8 Word8 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Word8 -> Word8 Source #

Normed Word16 Word16 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Word16 -> Word16 Source #

Normed Word32 Word32 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Word32 -> Word32 Source #

Normed Word64 Word64 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

norm :: Word64 -> Word64 Source #

Normed a a => Normed a (Positive a) Source # 
Instance details

Defined in NumHask.Data.Positive

Methods

norm :: a -> Positive a Source #

(ExpField a, Normed a a) => Normed (Complex a) a Source # 
Instance details

Defined in NumHask.Data.Complex

Methods

norm :: Complex a -> a Source #

(ExpField a, Normed a a) => Normed (Pair a) a Source # 
Instance details

Defined in NumHask.Data.Pair

Methods

norm :: Pair a -> a Source #

GCDConstraints a => Normed (Ratio a) (Ratio a) Source # 
Instance details

Defined in NumHask.Data.Rational

Methods

norm :: Ratio a -> Ratio a Source #

Normed a a => Normed (Pair a) (Pair a) Source # 
Instance details

Defined in NumHask.Data.Pair

Methods

norm :: Pair a -> Pair a Source #

Normed a b => Normed (Wrapped a) (Wrapped b) Source # 
Instance details

Defined in NumHask.Data.Wrapped

Methods

norm :: 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

Methods

distance :: a -> a -> b Source #

Instances
Metric Double Double Source # 
Instance details

Defined in NumHask.Analysis.Metric

Metric Float Float Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

distance :: Float -> Float -> Float Source #

Metric Int Int Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

distance :: Int -> Int -> Int Source #

Metric Int8 Int8 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

distance :: Int8 -> Int8 -> Int8 Source #

Metric Int16 Int16 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

distance :: Int16 -> Int16 -> Int16 Source #

Metric Int32 Int32 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

distance :: Int32 -> Int32 -> Int32 Source #

Metric Int64 Int64 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

distance :: Int64 -> Int64 -> Int64 Source #

Metric Integer Integer Source # 
Instance details

Defined in NumHask.Analysis.Metric

Metric Natural Natural Source # 
Instance details

Defined in NumHask.Analysis.Metric

Metric Word Word Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

distance :: Word -> Word -> Word Source #

Metric Word8 Word8 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Methods

distance :: Word8 -> Word8 -> Word8 Source #

Metric Word16 Word16 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Metric Word32 Word32 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Metric Word64 Word64 Source # 
Instance details

Defined in NumHask.Analysis.Metric

(Subtractive a, Normed a a) => Metric a (Positive a) Source # 
Instance details

Defined in NumHask.Data.Positive

Methods

distance :: a -> a -> Positive a Source #

(Subtractive a, ExpField a, Normed a a) => Metric (Complex a) a Source # 
Instance details

Defined in NumHask.Data.Complex

Methods

distance :: Complex a -> Complex a -> a Source #

(ExpField a, Subtractive a, Normed a a) => Metric (Pair a) a Source # 
Instance details

Defined in NumHask.Data.Pair

Methods

distance :: Pair a -> Pair a -> a Source #

GCDConstraints a => Metric (Ratio a) (Ratio a) Source # 
Instance details

Defined in NumHask.Data.Rational

Methods

distance :: Ratio a -> Ratio a -> Ratio a Source #

(Subtractive a, Normed a a) => Metric (Pair a) (Pair a) Source # 
Instance details

Defined in NumHask.Data.Pair

Methods

distance :: Pair a -> Pair a -> Pair a Source #

Metric a b => Metric (Wrapped a) (Wrapped b) Source # 
Instance details

Defined in NumHask.Data.Wrapped

Methods

distance :: Wrapped a -> Wrapped a -> Wrapped b Source #

class (Eq a, Additive a, Subtractive a, MeetSemiLattice a) => Epsilon a where Source #

Minimal complete definition

Nothing

Methods

epsilon :: a Source #

nearZero :: a -> Bool Source #

aboutEqual :: a -> a -> Bool Source #

Instances
Epsilon Double Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Float Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Int Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Int8 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Int16 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Int32 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Int64 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Integer Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Word Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Word8 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Word16 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Word32 Source # 
Instance details

Defined in NumHask.Analysis.Metric

Epsilon Word64 Source # 
Instance details

Defined in NumHask.Analysis.Metric

(Ord a, Signed a, Subtractive a, Epsilon a) => Epsilon (Complex a) Source # 
Instance details

Defined in NumHask.Data.Complex

(GCDConstraints a, MeetSemiLattice a) => Epsilon (Ratio a) Source # 
Instance details

Defined in NumHask.Data.Rational

(Subtractive a, Epsilon a) => Epsilon (Pair a) Source # 
Instance details

Defined in NumHask.Data.Pair

(Epsilon a, ExpField a, LowerBoundedField a, UpperBoundedField a, Ord a) => Epsilon (LogField a) Source # 
Instance details

Defined in NumHask.Data.LogField

Epsilon a => Epsilon (Wrapped a) Source # 
Instance details

Defined in NumHask.Data.Wrapped

(Epsilon a, Ord a) => Epsilon (Positive a) Source # 
Instance details

Defined in NumHask.Data.Positive

(~=) :: Epsilon a => a -> a -> Bool infixl 4 Source #