AERN-Real-2011.1: src/Numeric/AERN/RealArithmetic/NumericOrderRounding/OpsDefaultEffort.hs
{-|
Module : Numeric.AERN.RealArithmetic.NumericOrderRounding.OpsImplicitEffort
Description : convenience binary infix operators with default effort
Copyright : (c) Michal Konecny
License : BSD3
Maintainer : mikkonecny@gmail.com
Stability : experimental
Portability : portable
Convenience binary infix operators with default effort.
-}
module Numeric.AERN.RealArithmetic.NumericOrderRounding.OpsDefaultEffort where
import Numeric.AERN.RealArithmetic.NumericOrderRounding
import Numeric.AERN.RealArithmetic.ExactOps
infixl 6 +., +^, -., -^
infixl 7 *., *^
infixl 8 ^., ^^
infixl 7 /., /^
infixr 6 |+., |+^
infixl 6 +.|, +^|
infixr 7 |*., |*^
infixl 7 *.|, *^|
infixl 7 /.|, /^|
(+^), (+.) ::
(RoundedAdd t) =>
t -> t -> t
(+^) d = addUpEff (addDefaultEffort d) d
(+.) d = addDnEff (addDefaultEffort d) d
(-^), (-.) ::
(RoundedSubtr t) =>
t -> t -> t
(-^) d = subtrUpEff (addDefaultEffort d) d
(-.) d = subtrDnEff (addDefaultEffort d) d
absUp, absDn ::
(RoundedAbs t) =>
t -> t
absUp d = absUpEff (absDefaultEffort d) d
absDn d = absDnEff (absDefaultEffort d) d
(*^), (*.) ::
(RoundedMultiply t) =>
t -> t -> t
(*^) d = multUpEff (multDefaultEffort d) d
(*.) d = multDnEff (multDefaultEffort d) d
(^^), (^.) ::
(RoundedPowerToNonnegInt t) =>
t -> Int -> t
(^^) d = powerToNonnegIntUpEff (powerToNonnegIntDefaultEffort d) d
(^.) d = powerToNonnegIntDnEff (powerToNonnegIntDefaultEffort d) d
(/^), (/.) ::
(RoundedDivide t) =>
t -> t -> t
(/^) d = divUpEff (divDefaultEffort d) d
(/.) d = divDnEff (divDefaultEffort d) d
(|+^), (|+.) ::
(RoundedMixedAdd t tn) =>
tn -> t -> t
(|+^) n d = mixedAddUpEff (mixedAddDefaultEffort d n) d n
(|+.) n d = mixedAddDnEff (mixedAddDefaultEffort d n) d n
(+^|), (+.|) ::
(RoundedMixedAdd t tn) =>
t -> tn -> t
(+^|) d n = mixedAddUpEff (mixedAddDefaultEffort d n) d n
(+.|) d n = mixedAddDnEff (mixedAddDefaultEffort d n) d n
(|*^), (|*.) ::
(RoundedMixedMultiply t tn) =>
tn -> t -> t
(|*^) n d = mixedMultUpEff (mixedMultDefaultEffort d n) d n
(|*.) n d = mixedMultDnEff (mixedMultDefaultEffort d n) d n
(*^|), (*.|) ::
(RoundedMixedMultiply t tn) =>
t -> tn -> t
(*^|) d n = mixedMultUpEff (mixedMultDefaultEffort d n) d n
(*.|) d n = mixedMultDnEff (mixedMultDefaultEffort d n) d n
(/^|), (/.|) ::
(RoundedMixedDivide t tn) =>
t -> tn -> t
(/^|) d n = mixedDivUpEff (mixedDivDefaultEffort d n) d n
(/.|) d n = mixedDivDnEff (mixedDivDefaultEffort d n) d n
piUp, piDn ::
(RoundedSpecialConst t) =>
t
piUp = result
where
result =
piUpEff (specialConstDefaultEffort result)
piDn = result
where
result =
piDnEff (specialConstDefaultEffort result)
eUp, eDn ::
(RoundedSpecialConst t) =>
t
eUp = result
where
result =
eUpEff (specialConstDefaultEffort result)
eDn = result
where
result =
eDnEff (specialConstDefaultEffort result)
expUp, expDn ::
(RoundedExponentiation t) =>
t -> t
expUp d = expUpEff (expDefaultEffort d) d
expDn d = expDnEff (expDefaultEffort d) d
sqrtUp, sqrtDn ::
(RoundedSquareRoot t) =>
t -> t
sqrtUp d = sqrtUpEff (sqrtDefaultEffort d) d
sqrtDn d = sqrtDnEff (sqrtDefaultEffort d) d