Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.canton.network/llms.txt

Use this file to discover all available pages before exploring further.

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

  • instance NumericScale n => Bounded (Numeric n)