Copyright | (c) Michal Konecny |
---|---|
License | BSD3 |
Maintainer | mikkonecny@gmail.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell98 |
Floating-point precision type and its operations
Documentation
class HasPrecision t where Source #
getPrecision :: t -> Precision Source #
HasPrecision Bool Source # | |
HasPrecision Dyadic Source # | |
HasPrecision MPBall Source # | |
HasPrecision t => HasPrecision (Maybe t) Source # | |
HasPrecision t => HasPrecision (Complex t) Source # | |
HasPrecision t => HasPrecision (CollectErrors es t) Source # | |
class HasPrecision t => CanSetPrecision t where Source #
setPrecision :: Precision -> t -> t Source #
CanSetPrecision Bool Source # | |
CanSetPrecision MPBall Source # | |
CanSetPrecision t => CanSetPrecision (Maybe t) Source # | |
CanSetPrecision t => CanSetPrecision (Complex t) Source # | |
CanSetPrecision t => CanSetPrecision (CollectErrors es t) Source # | |
lowerPrecisionIfAbove :: CanSetPrecision t => Precision -> t -> t Source #
raisePrecisionIfBelow :: CanSetPrecision t => Precision -> t -> t Source #
specCanSetPrecision :: (CanSetPrecision t, Arbitrary t, Show t, Testable prop) => T t -> (t -> t -> prop) -> Spec Source #
standardPrecisions :: Precision -> [Precision] Source #
precisionTimes2 :: Precision -> Precision Source #
class ConvertibleWithPrecision t1 t2 where Source #
safeConvertP :: Precision -> t1 -> ConvertResult t2 Source #
(ConvertibleWithPrecision Bool t0, Monoid es0) => ConvertibleWithPrecision Bool (CollectErrors es0 t0) Source # | |
(ConvertibleWithPrecision Double t0, Monoid es0) => ConvertibleWithPrecision Double (CollectErrors es0 t0) Source # | |
(ConvertibleWithPrecision Int t0, Monoid es0) => ConvertibleWithPrecision Int (CollectErrors es0 t0) Source # | |
(ConvertibleWithPrecision Integer t0, Monoid es0) => ConvertibleWithPrecision Integer (CollectErrors es0 t0) Source # | |
(ConvertibleWithPrecision Rational t0, Monoid es0) => ConvertibleWithPrecision Rational (CollectErrors es0 t0) Source # | |
convertP :: ConvertibleWithPrecision t1 t2 => Precision -> t1 -> t2 Source #
convertPFirst :: (ConvertibleWithPrecision t1 t2, HasPrecision t2) => (t2 -> t2 -> c) -> t1 -> t2 -> c Source #
convertPSecond :: (ConvertibleWithPrecision t2 t1, HasPrecision t1) => (t1 -> t1 -> c) -> t1 -> t2 -> c Source #