decimal

package
v0.0.0-...-d9a8df2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2016 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const Precision = 16

Precision defines the minimum precision all inexact decimal calculations should attempt to achieve.

Variables

This section is empty.

Functions

func Cbrt

func Cbrt(z, x *inf.Dec, s inf.Scale) *inf.Dec

Cbrt calculates the cube root of x to the specified scale and stores the result in z, which is also the return value.

The cube root calculation is implemented using Newton-Raphson method. We start with an initial estimate for cbrt(d), and then iterate:

x_{n+1} = 1/3 * ( 2 * x_n + (d / x_n / x_n) ).

func Float64FromDec

func Float64FromDec(dec *inf.Dec) (float64, error)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL