packages feed

decimal-arithmetic-0.3.0.0: src/Numeric/Decimal/Operation.hs-boot

-- -*- Haskell -*-

module Numeric.Decimal.Operation
       ( add
       , subtract
       , multiply
       , divide
       , exp
       , ln
       , log10
       , minus
       , abs
       , compare
       , min
       , max
       , power
       , squareRoot
       ) where

import Prelude hiding (abs, compare, exp, max, min, subtract)

import {-# SOURCE #-} Numeric.Decimal.Arithmetic
import {-# SOURCE #-} Numeric.Decimal.Number
import                Numeric.Decimal.Precision
import                Numeric.Decimal.Rounding

add      :: (Precision p, Rounding r)
         => Decimal a b -> Decimal c d -> Arith p r (Decimal p r)
subtract :: (Precision p, Rounding r)
         => Decimal a b -> Decimal c d -> Arith p r (Decimal p r)
multiply :: (Precision p, Rounding r)
         => Decimal a b -> Decimal c d -> Arith p r (Decimal p r)
divide   :: (FinitePrecision p, Rounding r)
         => Decimal a b -> Decimal c d -> Arith p r (Decimal p r)
exp      :: FinitePrecision p
         => Decimal a b -> Arith p r (Decimal p RoundHalfEven)
ln       :: FinitePrecision p
         => Decimal a b -> Arith p r (Decimal p RoundHalfEven)
log10    :: FinitePrecision p
         => Decimal a b -> Arith p r (Decimal p RoundHalfEven)
minus    :: (Precision p, Rounding r)
         => Decimal a b -> Arith p r (Decimal p r)
abs      :: (Precision p, Rounding r)
         => Decimal a b -> Arith p r (Decimal p r)
compare  :: (Precision p, Rounding r)
         => Decimal a b -> Decimal c d -> Arith p r (Decimal p r)
min      :: (Precision p, Rounding r)
         => Decimal a b -> Decimal a b -> Arith p r (Decimal a b)
max      :: (Precision p, Rounding r)
         => Decimal a b -> Decimal a b -> Arith p r (Decimal a b)
power    :: (FinitePrecision p, Rounding r)
         => Decimal a b -> Decimal c d -> Arith p r (Decimal p r)
squareRoot :: FinitePrecision p
           => Decimal a b -> Arith p r (Decimal p RoundHalfEven)