yap-examples-0.1: examples of the algebraic classes in the yap package
Copyright(c) Ross Paterson 2022
LicenseBSD-style (see the file LICENSE)
Maintainer[email protected]
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Data.YAP.Logarithm

Description

An example instance of the algebraic classes: a logarithm adaptor.

Synopsis

Documentation

data Logarithm a Source #

Formal logarithm type adaptor: addition and subtraction become multiplication and division on the underlying type.

Instances

Instances details
Show a => Show (Logarithm a) Source # 
Instance details

Defined in Data.YAP.Logarithm

Eq a => Eq (Logarithm a) Source # 
Instance details

Defined in Data.YAP.Logarithm

Methods

(==) :: Logarithm a -> Logarithm a -> Bool #

(/=) :: Logarithm a -> Logarithm a -> Bool #

Ord a => Ord (Logarithm a) Source # 
Instance details

Defined in Data.YAP.Logarithm

Semifield a => AbelianGroup (Logarithm a) Source # 
Instance details

Defined in Data.YAP.Logarithm

Methods

(-) :: Logarithm a -> Logarithm a -> Logarithm a #

negate :: Logarithm a -> Logarithm a #

gtimes :: (AbelianGroup b, ToInteger b) => b -> Logarithm a -> Logarithm a #

Semiring a => AdditiveMonoid (Logarithm a) Source # 
Instance details

Defined in Data.YAP.Logarithm

Methods

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

zero :: Logarithm a #

atimes :: ToInteger b => b -> Logarithm a -> Logarithm a #

logarithm :: (Eq a, AdditiveMonoid a) => a -> Logarithm a Source #

Formal logarithm. logarithm zero is undefined

exponential :: Logarithm a -> a Source #

inverse of logarithm.