Documentation ¶
Index ¶
- Constants
- func Float64FromDec(dec *inf.Dec) (float64, error)
- func Log(z *inf.Dec, x *inf.Dec, s inf.Scale) *inf.Dec
- func Log10(z *inf.Dec, x *inf.Dec, s inf.Scale) *inf.Dec
- func LogN(z *inf.Dec, x *inf.Dec, n *inf.Dec, s inf.Scale) *inf.Dec
- func Mod(z, x, y *inf.Dec) *inf.Dec
- func NewDecFromFloat(f float64) *inf.Dec
- func SetFromFloat(z *inf.Dec, f float64) *inf.Dec
- func Sqrt(z, x *inf.Dec, s inf.Scale) *inf.Dec
Constants ¶
const Precision = 16
Precision defines the minimum precision all inexact decimal calculations should attempt to achieve.
Variables ¶
This section is empty.
Functions ¶
func Float64FromDec ¶
Float64FromDec converts a decimal to a float64 value, returning the value and any error that occurred. This converson exposes a possible loss of information.
func Log ¶
func Log(z *inf.Dec, x *inf.Dec, s inf.Scale) *inf.Dec
Log computes the natural log of x using the Maclaurin series for log(1-x) to the specified scale and stores the result in z, which is also the return value. The function will panic if x is a negative number.
func Log10 ¶
func Log10(z *inf.Dec, x *inf.Dec, s inf.Scale) *inf.Dec
Log10 computes the log of x with base 10 to the specified scale and stores the result in z, which is also the return value. The function will panic if x is a negative number.
func LogN ¶
func LogN(z *inf.Dec, x *inf.Dec, n *inf.Dec, s inf.Scale) *inf.Dec
LogN computes the log of x with base n to the specified scale and stores the result in z, which is also the return value. The function will panic if x is a negative number or if n is a negative number.
func Mod ¶
func Mod(z, x, y *inf.Dec) *inf.Dec
Mod performs the modulo arithmatic x % y and stores the result in z, which is also the return value. It is valid for z to be nil, in which case it will be allocated internally. Mod will panic if the y is zero.
The modulo calculation is implemented using the algorithm:
x % y = x - (y * ⌊x / y⌋).
func NewDecFromFloat ¶
func NewDecFromFloat(f float64) *inf.Dec
NewDecFromFloat allocates and returns a new Dec set to the given float64 value. The function will panic if the float is NaN or ±Inf.
func SetFromFloat ¶
func SetFromFloat(z *inf.Dec, f float64) *inf.Dec
SetFromFloat sets z to the given float64 value and returns z. The function will panic if the float is NaN or ±Inf.
func Sqrt ¶
func Sqrt(z, x *inf.Dec, s inf.Scale) *inf.Dec
Sqrt calculates the square root of x to the specified scale and stores the result in z, which is also the return value. The function will panic if x is a negative number.
The square root calculation is implemented using Newton's Method. We start with an initial estimate for sqrt(d), and then iterate:
x_{n+1} = 1/2 * ( x_n + (d / x_n) ).
Types ¶
This section is empty.