Skip to main content

DA.Numeric

Module Snapshot

Lifecycle

Stable.

Notices

Status: active Introduced in: 3.4.9 Removed in: - Warnings: 0 Deprecations: 0 Deprecated since: -

Data Types

data RoundingMode

Rounding modes. Constructors:
  • RoundingUp
Round away from zero.
  • RoundingDown
Round towards zero.
  • RoundingCeiling
Round towards positive infinity.
  • RoundingFloor
Round towards negative infinity.
  • RoundingHalfUp
Round towards the nearest neighbor unless both neighbors are equidistant, in which case round away from zero.
  • RoundingHalfDown
Round towards the nearest neighbor unless both neighbors are equidistant, in which case round towards zero.
  • RoundingHalfEven
Round towards the nearest neighbor unless both neighbors are equidistant, in which case round towards the even neighbor.
  • RoundingUnnecessary
Do not round. Raises an error if the result cannot be represented without rounding at the targeted scale.

Functions

mul

mul : NumericScale n3 => Numeric n1 -> Numeric n2 -> Numeric n3 Multiply two numerics. Both inputs and the output may have different scales, unlike (*) which forces all numeric scales to be the same. Raises an error on overflow, rounds to chosen scale otherwise.

div

div : NumericScale n3 => Numeric n1 -> Numeric n2 -> Numeric n3 Divide two numerics. Both inputs and the output may have different scales, unlike (/) which forces all numeric scales to be the same. Raises an error on overflow, rounds to chosen scale otherwise.

cast

cast : NumericScale n2 => Numeric n1 -> Numeric n2 Cast a Numeric. Raises an error on overflow or loss of precision.

castAndRound

castAndRound : NumericScale n2 => Numeric n1 -> Numeric n2 Cast a Numeric. Raises an error on overflow, rounds to chosen scale otherwise.

shift

shift : NumericScale n2 => Numeric n1 -> Numeric n2 Move the decimal point left or right by multiplying the numeric value by 10^(n1 - n2). Does not overflow or underflow.

pi

pi : NumericScale n => Numeric n The number pi.

epsilon

epsilon : NumericScale n => Numeric n The minimum strictly positive value that can be represented by a numeric of scale n.

roundNumeric

roundNumeric : NumericScale n => Int -> RoundingMode -> Numeric n -> Numeric n Round a Numeric number. The value of round n r a is the value of a rounded to n decimal places (i.e. scale), according to the rounding mode r. This will fail when using the RoundingUnnecessary mode for a number that cannot be represented exactly with at most n decimal places.

Orphan Typeclass Instances