{-| Module : Data.Number.MPFR.Mutable.Special Description : Special functions Copyright : (c) Aleš Bizjak License : BSD3 Maintainer : ales.bizjak0@gmail.com Stability : experimental Portability : non-portable For documentation on particular functions see . -} {-# INCLUDE #-} {-# INCLUDE #-} module Data.Number.MPFR.Mutable.Special where import Data.Number.MPFR.Mutable.Internal import Control.Monad.ST(ST) import Data.Word(Word) log :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int log = withMutableMPFRS mpfr_log log2 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int log2 = withMutableMPFRS mpfr_log2 log10 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int log10 = withMutableMPFRS mpfr_log10 exp :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int exp = withMutableMPFRS mpfr_exp exp2 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int exp2 = withMutableMPFRS mpfr_exp2 exp10 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int exp10 = withMutableMPFRS mpfr_exp10 sin :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int sin = withMutableMPFRS mpfr_sin cos :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int cos = withMutableMPFRS mpfr_cos tan :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int tan = withMutableMPFRS mpfr_tan sec :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int sec = withMutableMPFRS mpfr_sec csc :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int csc = withMutableMPFRS mpfr_csc cot :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int cot = withMutableMPFRS mpfr_cot sincos :: MMPFR s -> MMPFR s -> MMPFR s -> RoundMode -> ST s Int sincos = withMutableMPFRSC mpfr_sin_cos asin :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int asin = withMutableMPFRS mpfr_asin acos :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int acos = withMutableMPFRS mpfr_acos atan :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int atan = withMutableMPFRS mpfr_atan atan2 :: MMPFR s -> MMPFR s -> MMPFR s -> RoundMode -> ST s Int atan2 = withMutableMPFRBA mpfr_atan2 sinh :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int sinh = withMutableMPFRS mpfr_sinh cosh :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int cosh = withMutableMPFRS mpfr_cosh tanh :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int tanh = withMutableMPFRS mpfr_tanh sinhcosh :: MMPFR s -> MMPFR s -> MMPFR s -> RoundMode -> ST s Int sinhcosh = withMutableMPFRSC mpfr_sinh_cosh sech :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int sech = withMutableMPFRS mpfr_sech csch :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int csch = withMutableMPFRS mpfr_csch coth :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int coth = withMutableMPFRS mpfr_coth asinh :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int asinh = withMutableMPFRS mpfr_asinh acosh :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int acosh = withMutableMPFRS mpfr_acosh atanh :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int atanh = withMutableMPFRS mpfr_atanh facw :: MMPFR s -> Word -> RoundMode -> ST s Int facw = withMutableMPFRUI mpfr_fac_ui log1p :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int log1p = withMutableMPFRS mpfr_log1p expm1 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int expm1 = withMutableMPFRS mpfr_expm1 eint :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int eint = withMutableMPFRS mpfr_eint li2 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int li2 = withMutableMPFRS mpfr_li2 gamma :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int gamma = withMutableMPFRS mpfr_gamma lngamma :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int lngamma = withMutableMPFRS mpfr_lngamma {- TODO lgamma :: RoundMode -> Precision -> MPFR -> (MPFR, Int) lgamma r p d = case lgamma_ r p d of (a, b, _) -> (a,b) -} zeta :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int zeta = withMutableMPFRS mpfr_zeta zetaw :: MMPFR s -> Word -> RoundMode -> ST s Int zetaw = withMutableMPFRUI mpfr_zeta_ui erf :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int erf = withMutableMPFRS mpfr_erf erfc :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int erfc = withMutableMPFRS mpfr_erfc j0 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int j0 = withMutableMPFRS mpfr_j0 j1 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int j1 = withMutableMPFRS mpfr_j1 jn :: MMPFR s -> Word -> MMPFR s -> RoundMode -> ST s Int jn = withMutableMPFR2 mpfr_jn y0 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int y0 = withMutableMPFRS mpfr_y0 y1 :: MMPFR s -> MMPFR s -> RoundMode -> ST s Int y1 = withMutableMPFRS mpfr_y1 yn :: MMPFR s -> Word -> MMPFR s -> RoundMode -> ST s Int yn = withMutableMPFR2 mpfr_yn fma :: MMPFR s -> MMPFR s -> MMPFR s -> MMPFR s -> RoundMode -> ST s Int fma = withMutableMPFRBA3 mpfr_fma fms :: MMPFR s -> MMPFR s -> MMPFR s -> MMPFR s -> RoundMode -> ST s Int fms = withMutableMPFRBA3 mpfr_fms agm :: MMPFR s -> MMPFR s -> MMPFR s -> RoundMode -> ST s Int agm = withMutableMPFRBA mpfr_agm hypot :: MMPFR s -> MMPFR s -> MMPFR s -> RoundMode -> ST s Int hypot = withMutableMPFRBA mpfr_hypot {- INTERNAL CACHES, dangerous pi :: RoundMode -> Precision -> MPFR pi r = fst . pi_ r log2c :: RoundMode -> Precision -> MPFR log2c r = fst . pi_ r euler :: RoundMode -> Precision -> MPFR euler r = fst . pi_ r catalan :: RoundMode -> Precision -> MPFR catalan r = fst . pi_ r -}