AERN-Real-2011.1: src/Numeric/AERN/RealArithmetic/RefinementOrderRounding/InPlace/OpsDefaultEffort.hs
{-|
Module : Numeric.AERN.RealArithmetic.RefinementOrderRounding.InPlace.OpsDefaultEffort
Description : convenience in-place operators and functions with default effort
Copyright : (c) Michal Konecny, Jan Duracz
License : BSD3
Maintainer : mikkonecny@gmail.com
Stability : experimental
Portability : portable
Convenience in-place operators and functions with default effort.
-}
module Numeric.AERN.RealArithmetic.RefinementOrderRounding.InPlace.OpsDefaultEffort where
import Numeric.AERN.Basics.Mutable
import Numeric.AERN.RealArithmetic.RefinementOrderRounding
infixl 6 <+>=, >+<=, <->=, >-<=
infixl 7 <*>=, >*<=
infixl 8 <^>=, >^<=
infixl 7 </>=, >/<=
infixl 6 <+>|=, >+<|=
infixl 7 <*>|=, >*<|=
infixl 7 </>|=, >/<|=
-- | Inward rounded in-place addition
addInInPlace :: (RoundedAddInPlace t) => OpMutable2 t s
addInInPlace = mutable2EffToMutable2 addInInPlaceEff addDefaultEffort
-- | Inward rounded addition assignment
(>+<=) :: (RoundedAddInPlace t) => OpMutable1 t s
(>+<=) = mutable2ToMutable1 addInInPlace
-- | Outward rounded in-place addition
addOutInPlace :: (RoundedAddInPlace t) => OpMutable2 t s
addOutInPlace = mutable2EffToMutable2 addOutInPlaceEff addDefaultEffort
-- | Outward rounded addition assignment
(<+>=) :: (RoundedAddInPlace t) => OpMutable1 t s
(<+>=) = mutable2ToMutable1 addOutInPlace
-- | Inward rounded in-place subtraction
subtrInInPlace :: (RoundedSubtrInPlace t) => OpMutable2 t s
subtrInInPlace = mutable2EffToMutable2 subtrInInPlaceEff addDefaultEffort
-- | Inward rounded subtraction assignment
(>-<=) :: (RoundedSubtrInPlace t) => OpMutable1 t s
(>-<=) = mutable2ToMutable1 subtrInInPlace
-- | Outward rounded in-place subtraction
subtrOutInPlace :: (RoundedSubtrInPlace t) => OpMutable2 t s
subtrOutInPlace = mutable2EffToMutable2 subtrOutInPlaceEff addDefaultEffort
-- | Outward rounded subtraction assignment
(<->=) :: (RoundedSubtrInPlace t) => OpMutable1 t s
(<->=) = mutable2ToMutable1 subtrOutInPlace
-- | Inward rounded in-place absolute value
absInInPlace :: (RoundedAbsInPlace t) => OpMutable1 t s
absInInPlace = mutable1EffToMutable1 absInInPlaceEff absDefaultEffort
-- | Outward rounded in-place absolute value
absOutInPlace :: (RoundedAbsInPlace t) => OpMutable1 t s
absOutInPlace = mutable1EffToMutable1 absOutInPlaceEff absDefaultEffort
-- | Inward rounded in-place multiplication
multInInPlace :: (RoundedMultiplyInPlace t) => OpMutable2 t s
multInInPlace = mutable2EffToMutable2 multInInPlaceEff multDefaultEffort
-- | Inward rounded multiplication assignment
(>*<=) :: (RoundedMultiplyInPlace t) => OpMutable1 t s
(>*<=) = mutable2ToMutable1 multInInPlace
-- | Outward rounded in-place multiplication
multOutInPlace :: (RoundedMultiplyInPlace t) => OpMutable2 t s
multOutInPlace = mutable2EffToMutable2 multOutInPlaceEff multDefaultEffort
-- | Outward rounded multiplication assignment
(<*>=) :: (RoundedMultiplyInPlace t) => OpMutable1 t s
(<*>=) = mutable2ToMutable1 multOutInPlace
-- | Inward rounded in-place power
powerToNonnegIntInInPlace :: (RoundedPowerToNonnegIntInPlace t) =>
OpMutableNonmut t Int s
powerToNonnegIntInInPlace =
mutableNonmutEffToMutableNonmut powerToNonnegIntInInPlaceEff powerToNonnegIntDefaultEffort
-- | Inward rounded in-place power assignment
(>^<=) :: (RoundedPowerToNonnegIntInPlace t) => OpNonmut t Int s
(>^<=) = mutableNonmutToNonmut powerToNonnegIntInInPlace
-- | Outward rounded in-place power
powerToNonnegIntOutInPlace :: (RoundedPowerToNonnegIntInPlace t) =>
OpMutableNonmut t Int s
powerToNonnegIntOutInPlace =
mutableNonmutEffToMutableNonmut powerToNonnegIntOutInPlaceEff powerToNonnegIntDefaultEffort
-- | Inward rounded in-place power assignment
(<^>=) :: (RoundedPowerToNonnegIntInPlace t) => OpNonmut t Int s
(<^>=) = mutableNonmutToNonmut powerToNonnegIntOutInPlace
-- | Inward rounded in-place division
divInInPlace :: (RoundedDivideInPlace t) => OpMutable2 t s
divInInPlace = mutable2EffToMutable2 divInInPlaceEff divDefaultEffort
-- | Inward rounded division assignment
(>/<=) :: (RoundedDivideInPlace t) => OpMutable1 t s
(>/<=) = mutable2ToMutable1 divInInPlace
-- | Outward rounded in-place division
divOutInPlace :: (RoundedDivideInPlace t) => OpMutable2 t s
divOutInPlace = mutable2EffToMutable2 divOutInPlaceEff divDefaultEffort
-- | Outward rounded division assignment
(</>=) :: (RoundedDivideInPlace t) => OpMutable1 t s
(</>=) = mutable2ToMutable1 divOutInPlace
-- | Inward rounded in-place mixed addition
mixedAddInInPlace :: (RoundedMixedAddInPlace t tn) =>
OpMutableNonmut t tn s
mixedAddInInPlace =
mixedEffToMutableNonmut mixedAddInInPlaceEff mixedAddDefaultEffort
-- | Inward rounded additive scalar action assignment
(>+<|=) :: (RoundedMixedAddInPlace t tn) => OpNonmut t tn s
(>+<|=) = mutableNonmutToNonmut mixedAddInInPlace
-- | Outward rounded in-place mixed addition
mixedAddOutInPlace :: (RoundedMixedAddInPlace t tn) =>
OpMutableNonmut t tn s
mixedAddOutInPlace =
mixedEffToMutableNonmut mixedAddOutInPlaceEff mixedAddDefaultEffort
-- | Outward rounded additive scalar action assignment
(<+>|=) :: (RoundedMixedAddInPlace t tn) => OpNonmut t tn s
(<+>|=) = mutableNonmutToNonmut mixedAddOutInPlace
-- | Inward rounded in-place mixed multiplication
mixedMultInInPlace :: (RoundedMixedMultiplyInPlace t tn) =>
OpMutableNonmut t tn s
mixedMultInInPlace =
mixedEffToMutableNonmut mixedMultInInPlaceEff mixedMultDefaultEffort
-- | Inward rounded multiplicative scalar action assignment
(>*<|=) :: (RoundedMixedMultiplyInPlace t tn) => OpNonmut t tn s
(>*<|=) = mutableNonmutToNonmut mixedMultInInPlace
-- | Outward rounded in-place mixed multiplication
mixedMultOutInPlace :: (RoundedMixedMultiplyInPlace t tn) =>
OpMutableNonmut t tn s
mixedMultOutInPlace =
mixedEffToMutableNonmut mixedMultOutInPlaceEff mixedMultDefaultEffort
-- | Outward rounded multiplicative scalar action assignment
(<*>|=) :: (RoundedMixedMultiplyInPlace t tn) => OpNonmut t tn s
(<*>|=) = mutableNonmutToNonmut mixedMultOutInPlace
-- | Inward rounded in-place mixed reciprocal action
mixedDivInInPlace :: (RoundedMixedDivideInPlace t tn) =>
OpMutableNonmut t tn s
mixedDivInInPlace =
mixedEffToMutableNonmut mixedDivInInPlaceEff mixedDivDefaultEffort
-- | Inward rounded multiplicative scalar reciprocal action assignment
(>/<|=) :: (RoundedMixedDivideInPlace t tn) => OpNonmut t tn s
(>/<|=) = mutableNonmutToNonmut mixedDivOutInPlace
-- | Outward rounded in-place mixed reciprocal action
mixedDivOutInPlace :: (RoundedMixedDivideInPlace t tn) =>
OpMutableNonmut t tn s
mixedDivOutInPlace =
mixedEffToMutableNonmut mixedDivOutInPlaceEff mixedDivDefaultEffort
-- | Outward rounded multiplicative scalar reciprocal action assignment
(</>|=) :: (RoundedMixedDivideInPlace t tn) => OpNonmut t tn s
(</>|=) = mutableNonmutToNonmut mixedDivOutInPlace
-- | Inward rounded in-place exponential
expInInPlace :: (RoundedExponentiationInPlace t) => OpMutable1 t s
expInInPlace = mutable1EffToMutable1 expInInPlaceEff expDefaultEffort
-- | Outward rounded in-place exponential
expOutInPlace :: (RoundedExponentiationInPlace t) => OpMutable1 t s
expOutInPlace = mutable1EffToMutable1 expOutInPlaceEff expDefaultEffort
-- | Inward rounded in-place square root
sqrtInInPlace :: (RoundedSquareRootInPlace t) => OpMutable1 t s
sqrtInInPlace = mutable1EffToMutable1 sqrtInInPlaceEff sqrtDefaultEffort
-- | Outward rounded in-place square root
sqrtOutInPlace :: (RoundedSquareRootInPlace t) => OpMutable1 t s
sqrtOutInPlace = mutable1EffToMutable1 sqrtOutInPlaceEff sqrtDefaultEffort