-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Explicit floating point rounding mode wrappers -- -- Explicit floating point rounding mode wrappers @package rounding @version 0.1.1 module Numeric.Rounding newtype Round dir a Round :: a -> Round dir a class Rounding dir class (Storable (C a), RealFloat (C a), RealFloat a, Enum a) => Precision a where { type family C a :: *; } data Up data Down data Trunc data ToNearest up :: a -> Round Up a down :: a -> Round Down a trunc :: a -> Round Trunc a runUp :: Round Up a -> a runDown :: Round Down a -> a runTrunc :: Round Trunc a -> a instance (Show a) => Show (Round dir a) instance (Read a) => Read (Round dir a) instance (Eq a) => Eq (Round dir a) instance (Ord a) => Ord (Round dir a) instance (Bounded a) => Bounded (Round dir a) instance (Rounding d, Precision a) => RealFloat (Round d a) instance (Rounding d, Precision a) => RealFrac (Round d a) instance (Rounding d, Precision a) => Real (Round d a) instance (Rounding d, Precision a) => Floating (Round d a) instance (Rounding d, Precision a) => Enum (Round d a) instance (Rounding d, Precision a) => Fractional (Round d a) instance (Rounding d, Precision a) => Num (Round d a) instance Precision Float instance Precision Double instance Rounding Down instance Rounding Up instance Rounding Trunc instance Rounding ToNearest instance Traversable (Round dir) instance Foldable (Round dir) instance Functor (Round dir)