----------------------------------------------------------------------------- -- | -- Module : Numeric.Rounded -- Copyright : (C) 2012-2014 Edward Kmett, Daniel Peebles -- (C) 2013-2019 Claude Heiland-Allen -- License : BSD3 -- Maintainer : Claude Heiland-Allen -- Stability : experimental -- Portability : non-portable -- ---------------------------------------------------------------------------- module Numeric.Rounded ( -- * Floating point numbers with a specified rounding mode and precision Rounded() , fromInt , fromDouble , fromLongDouble , toDouble , toLongDouble , toInteger' , precRound -- * Precision , Precision(precision) , Bytes , reifyPrecision -- * Rounding , Rounding(rounding) , RoundingMode(..) , reifyRounding -- * Useful Constants , kLog2 , kEuler , kCatalan -- * Combinators that are oblivious to precision , (.+.) , (.-.) , (.*.) , abs' , negate' , decodeFloat' , succUlp , predUlp -- * Mixed-precision operations -- ** Unary , abs_ , acos_ , acosh_ , ai_ , asin_ , asinh_ , atan_ , atanh_ , cbrt_ , cos_ , cosh_ , cot_ , coth_ , csc_ , csch_ , digamma_ , eint_ , erf_ , erfc_ , exp_ , exp10_ , exp2_ , expm1_ , frac_ , gamma_ , j0_ , j1_ , li2_ , lngamma_ , log_ , log10_ , log1p_ , log2_ , neg_ , rec_sqrt_ , rint_ , rint_ceil_ , rint_floor_ , rint_round_ , rint_roundeven_ , rint_trunc_ , sec_ , sech_ , set_ , sin_ , sinh_ , sqr_ , sqrt_ , tan_ , tanh_ , y0_ , y1_ , zeta_ -- ** Binary , add_ , agm_ , atan2_ , copysign_ , dim_ , div_ , fmod_ , hypot_ , max_ , min_ , mul_ , pow_ , sub_ , beta_ , gamma_inc_ -- ** Dual output , modf , sin_cos , sinh_cosh -- ** Aliases , (!+!) , (!-!) , (!*!) , (!/!) , (!**!) , negate_ , truncate_ , ceiling_ -- ** Comparisons , (!==!) , (!/=!) , (!>=!) , (!<=!) , (!>!) , (!!) -- * Foreign Function Interface , withInRounded , withInOutRounded , withInOutRounded_ , withOutRounded , withOutRounded_ , unsafeWithOutRounded , unsafeWithOutRounded_ , peekRounded ) where import Numeric.Rounded.Internal import Numeric.Rounded.Precision import Numeric.Rounded.Rounding