
Org.Org.Semantic.HBase.Basic.Arithmetic 




Description 
These classes are nominal. 

Synopsis 



Documentation 

class HasZero a where 
Has a value that's 'zero' in some sense.   Methods  isZero :: a > Bool   zero :: a  Typically zero should be identity for add. 
  Instances  


isPositiveStrict :: (HasZero a, MaybeOrdered a) => a > Bool 

isNegativeStrict :: (HasZero a, MaybeOrdered a) => a > Bool 

isPositiveInclusive :: (HasZero a, MaybeOrdered a) => a > Bool 

isNegativeInclusive :: (HasZero a, MaybeOrdered a) => a > Bool 

class Additive a b ab  a b > ab where 
 Methods  add :: a > b > ab  Add a to b. 
  Instances  


(+) :: Additive a a a => a > a > a 
This is add with the arguments swapped, as per subtract. 

sum :: (HasZero a, Additive a a a) => [a] > a 

class Negatable a where 


class Subtractive a b ab  a b > ab where 
 Methods  subtract :: a > b > ab  Watch out, "subtract a b" means "subtract a from b"
i.e. "b  a". 
  Instances  Subtractive Int Int Int  Subtractive Integer Integer Integer  Subtractive Word8 Word8 Word8  Subtractive Int8 Int8 Int8  Subtractive Word16 Word16 Word16  Subtractive Int16 Int16 Int16  Subtractive Word32 Word32 Word32  Subtractive Int32 Int32 Int32  Subtractive Word64 Word64 Word64  Subtractive Int64 Int64 Int64  Subtractive a a aa => Subtractive (Complex a) (Complex a) (Complex aa)  Subtractive a a a => Subtractive a (Complex a) (Complex a)  (Subtractive a a a, Negatable a) => Subtractive (Complex a) a (Complex a)  Subtractive Double Double Double  (Subtractive a b c, FunctorApply p, FunctorApply q) => Subtractive (FunctorMatrix p q a) (FunctorMatrix p q b) (FunctorMatrix p q c)  (Subtractive a b c, FunctorApply t) => Subtractive (FunctorVector t a) (FunctorVector t b) (FunctorVector t c)  Subtractive EIReal EIReal EIReal  Subtractive a b c => Subtractive (InfExtended a) (InfExtended b) (NaNExtended (InfExtended c))  () => Subtractive (NaNExtended Integer) (NaNExtended Integer) (NaNExtended Integer)  () => Subtractive Integer (NaNExtended Integer) (NaNExtended Integer)  () => Subtractive (NaNExtended Integer) Integer (NaNExtended Integer)  () => Subtractive (NaNExtended Int) (NaNExtended Int) (NaNExtended Int)  () => Subtractive Int (NaNExtended Int) (NaNExtended Int)  () => Subtractive (NaNExtended Int) Int (NaNExtended Int)  () => Subtractive (NaNExtended Word8) (NaNExtended Word8) (NaNExtended Word8)  () => Subtractive Word8 (NaNExtended Word8) (NaNExtended Word8)  () => Subtractive (NaNExtended Word8) Word8 (NaNExtended Word8)  () => Subtractive (NaNExtended Int8) (NaNExtended Int8) (NaNExtended Int8)  () => Subtractive Int8 (NaNExtended Int8) (NaNExtended Int8)  () => Subtractive (NaNExtended Int8) Int8 (NaNExtended Int8)  () => Subtractive (NaNExtended Word16) (NaNExtended Word16) (NaNExtended Word16)  () => Subtractive Word16 (NaNExtended Word16) (NaNExtended Word16)  () => Subtractive (NaNExtended Word16) Word16 (NaNExtended Word16)  () => Subtractive (NaNExtended Int16) (NaNExtended Int16) (NaNExtended Int16)  () => Subtractive Int16 (NaNExtended Int16) (NaNExtended Int16)  () => Subtractive (NaNExtended Int16) Int16 (NaNExtended Int16)  () => Subtractive (NaNExtended Word32) (NaNExtended Word32) (NaNExtended Word32)  () => Subtractive Word32 (NaNExtended Word32) (NaNExtended Word32)  () => Subtractive (NaNExtended Word32) Word32 (NaNExtended Word32)  () => Subtractive (NaNExtended Int32) (NaNExtended Int32) (NaNExtended Int32)  () => Subtractive Int32 (NaNExtended Int32) (NaNExtended Int32)  () => Subtractive (NaNExtended Int32) Int32 (NaNExtended Int32)  () => Subtractive (NaNExtended Word64) (NaNExtended Word64) (NaNExtended Word64)  () => Subtractive Word64 (NaNExtended Word64) (NaNExtended Word64)  () => Subtractive (NaNExtended Word64) Word64 (NaNExtended Word64)  () => Subtractive (NaNExtended Int64) (NaNExtended Int64) (NaNExtended Int64)  () => Subtractive Int64 (NaNExtended Int64) (NaNExtended Int64)  () => Subtractive (NaNExtended Int64) Int64 (NaNExtended Int64)  () => Subtractive (NaNExtended Rational) (NaNExtended Rational) (NaNExtended Rational)  () => Subtractive Rational (NaNExtended Rational) (NaNExtended Rational)  () => Subtractive (NaNExtended Rational) Rational (NaNExtended Rational)  Subtractive Rational Rational Rational  Subtractive Integer Rational Rational  Subtractive Rational Integer Rational  Subtractive a b c => Subtractive (VectorWrapper t a) (VectorWrapper t b) (VectorWrapper t c)  Subtractive a b c => Subtractive (VectorWrapper t a) (PointWrapper t b) (PointWrapper t c)  Subtractive a b c => Subtractive (PointWrapper t a) (PointWrapper t b) (VectorWrapper t c)  Subtractive Integer Char Char  Subtractive Char Char Integer  (Subtractive a a a, HasIntegerDivide Integer a, InterpretIntegerLiteral a) => Subtractive (UTCDuration a) (UTCDuration a) (UTCDuration a)  (Subtractive a a a, HasIntegerDivide Integer a, InterpretIntegerLiteral a) => Subtractive (UTCDuration a) (UTCTime a) (UTCTime a)  (Subtractive a a a, HasIntegerDivide Integer a, InterpretIntegerLiteral a) => Subtractive (UTCTime a) (UTCTime a) (UTCDuration a) 



() :: Subtractive a a a => a > a > a 
This is subtract with the arguments swapped. 

class HasOne a where 
Has a value that's 'one' in some sense.   Methods  isOne :: a > Bool   one :: a  Typically one should be identity for multiply. 
  Instances  


class Multiplicative a b ab  a b > ab where 
 Methods  multiply :: a > b > ab  multiply b by a. 
  Instances  Multiplicative Int Int Int  Multiplicative Integer Integer Integer  Multiplicative Word8 Word8 Word8  Multiplicative Int8 Int8 Int8  Multiplicative Word16 Word16 Word16  Multiplicative Int16 Int16 Int16  Multiplicative Word32 Word32 Word32  Multiplicative Int32 Int32 Int32  Multiplicative Word64 Word64 Word64  Multiplicative Int64 Int64 Int64  (Multiplicative a a aa, Additive aa aa c, Subtractive aa aa c) => Multiplicative (Complex a) (Complex a) (Complex c)  Multiplicative a a c => Multiplicative a (Complex a) (Complex c)  Multiplicative Double Double Double  Multiplicative Integer Double Double  (Multiplicative a a c, Functor p, Functor q) => Multiplicative a (FunctorMatrix p q a) (FunctorMatrix p q c)  (Multiplicative a a c, HasZero c, Additive c c c, Functor p, FunctorApply q, ExtractableFunctor q, FunctorApplyReturn r) => Multiplicative (FunctorMatrix p q a) (FunctorMatrix q r a) (FunctorMatrix p r c)  (Multiplicative a a c, HasZero c, Additive c c c, Functor p, FunctorApply q, ExtractableFunctor q) => Multiplicative (FunctorMatrix p q a) (FunctorVector q a) (FunctorVector p c)  (Multiplicative a a c, Functor t) => Multiplicative a (FunctorVector t a) (FunctorVector t c)  Multiplicative EIReal EIReal EIReal  (HasZero a, HasZero b, Multiplicative a b c) => Multiplicative (InfExtended a) (InfExtended b) (NaNExtended (InfExtended c))  () => Multiplicative (NaNExtended Integer) (NaNExtended Integer) (NaNExtended Integer)  () => Multiplicative Integer (NaNExtended Integer) (NaNExtended Integer)  () => Multiplicative (NaNExtended Integer) Integer (NaNExtended Integer)  () => Multiplicative (NaNExtended Int) (NaNExtended Int) (NaNExtended Int)  () => Multiplicative Int (NaNExtended Int) (NaNExtended Int)  () => Multiplicative (NaNExtended Int) Int (NaNExtended Int)  () => Multiplicative (NaNExtended Word8) (NaNExtended Word8) (NaNExtended Word8)  () => Multiplicative Word8 (NaNExtended Word8) (NaNExtended Word8)  () => Multiplicative (NaNExtended Word8) Word8 (NaNExtended Word8)  () => Multiplicative (NaNExtended Int8) (NaNExtended Int8) (NaNExtended Int8)  () => Multiplicative Int8 (NaNExtended Int8) (NaNExtended Int8)  () => Multiplicative (NaNExtended Int8) Int8 (NaNExtended Int8)  () => Multiplicative (NaNExtended Word16) (NaNExtended Word16) (NaNExtended Word16)  () => Multiplicative Word16 (NaNExtended Word16) (NaNExtended Word16)  () => Multiplicative (NaNExtended Word16) Word16 (NaNExtended Word16)  () => Multiplicative (NaNExtended Int16) (NaNExtended Int16) (NaNExtended Int16)  () => Multiplicative Int16 (NaNExtended Int16) (NaNExtended Int16)  () => Multiplicative (NaNExtended Int16) Int16 (NaNExtended Int16)  () => Multiplicative (NaNExtended Word32) (NaNExtended Word32) (NaNExtended Word32)  () => Multiplicative Word32 (NaNExtended Word32) (NaNExtended Word32)  () => Multiplicative (NaNExtended Word32) Word32 (NaNExtended Word32)  () => Multiplicative (NaNExtended Int32) (NaNExtended Int32) (NaNExtended Int32)  () => Multiplicative Int32 (NaNExtended Int32) (NaNExtended Int32)  () => Multiplicative (NaNExtended Int32) Int32 (NaNExtended Int32)  () => Multiplicative (NaNExtended Word64) (NaNExtended Word64) (NaNExtended Word64)  () => Multiplicative Word64 (NaNExtended Word64) (NaNExtended Word64)  () => Multiplicative (NaNExtended Word64) Word64 (NaNExtended Word64)  () => Multiplicative (NaNExtended Int64) (NaNExtended Int64) (NaNExtended Int64)  () => Multiplicative Int64 (NaNExtended Int64) (NaNExtended Int64)  () => Multiplicative (NaNExtended Int64) Int64 (NaNExtended Int64)  () => Multiplicative (NaNExtended Rational) (NaNExtended Rational) (NaNExtended Rational)  () => Multiplicative Rational (NaNExtended Rational) (NaNExtended Rational)  () => Multiplicative (NaNExtended Rational) Rational (NaNExtended Rational)  Multiplicative Rational Rational Rational  Multiplicative Integer Rational Rational  Multiplicative Rational Integer Rational  Multiplicative n a b => Multiplicative n (VectorWrapper t a) (VectorWrapper t b) 



(*) :: Multiplicative a a a => a > a > a 
This is multiply with the arguments swapped, as per divide. 

product :: (HasOne a, Multiplicative a a a) => [a] > a 

class HasAbsolute k a  a > k where 


class HasSignum a where 


Produced by Haddock version 0.6 