diff options
| author | Robert Griesemer <gri@golang.org> | 2015-03-03 13:41:56 -0800 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2015-03-04 18:24:15 +0000 |
| commit | 0a8a62584870ef5b4eeea0f520d94d95235e4070 (patch) | |
| tree | 8d82480cb8454ab6965d9198a5125c09a48d014d /src | |
| parent | ef0b03137d18f42337a4cbd4915bf91942bad750 (diff) | |
| download | go-0a8a62584870ef5b4eeea0f520d94d95235e4070.tar.xz | |
math/big: added Float.Add example, remove warning from Floats
Change-Id: If04840c34b0ac5168ce1699eae880f04ae21c84c
Reviewed-on: https://go-review.googlesource.com/6680
Reviewed-by: Alan Donovan <adonovan@google.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/math/big/float.go | 5 | ||||
| -rw-r--r-- | src/math/big/floatexample_test.go | 18 |
2 files changed, 18 insertions, 5 deletions
diff --git a/src/math/big/float.go b/src/math/big/float.go index e24961c61a..de16c6eccd 100644 --- a/src/math/big/float.go +++ b/src/math/big/float.go @@ -9,11 +9,6 @@ // rounding mode of the result operand determines the rounding // mode of an operation. This is a from-scratch implementation. -// CAUTION: WORK IN PROGRESS - USE AT YOUR OWN RISK. - -// TODO(gri) provide a couple of Example tests showing typical Float initialization -// and use. - package big import ( diff --git a/src/math/big/floatexample_test.go b/src/math/big/floatexample_test.go index 7123651bbc..460ef9c0a6 100644 --- a/src/math/big/floatexample_test.go +++ b/src/math/big/floatexample_test.go @@ -9,6 +9,24 @@ import ( "math/big" ) +// TODO(gri) add more examples + +func ExampleFloat_Add() { + // Operating on numbers of different precision is easy. + var x, y, z big.Float + x.SetInt64(1000) // x is automatically set to 64bit precision + y.SetFloat64(2.718281828) // y is automatically set to 53bit precision + z.SetPrec(32) + z.Add(&x, &y) + fmt.Printf("x = %s (%s, prec = %d, acc = %s)\n", &x, x.Format('p', 0), x.Prec(), x.Acc()) + fmt.Printf("y = %s (%s, prec = %d, acc = %s)\n", &y, y.Format('p', 0), y.Prec(), y.Acc()) + fmt.Printf("z = %s (%s, prec = %d, acc = %s)\n", &z, z.Format('p', 0), z.Prec(), z.Acc()) + // Output: + // x = 1000 (0x.fap10, prec = 64, acc = exact) + // y = 2.718281828 (0x.adf85458248cd8p2, prec = 53, acc = exact) + // z = 1002.718282 (0x.faadf854p10, prec = 32, acc = below) +} + func Example_Shift() { // Implementing Float "shift" by modifying the (binary) exponents directly. var x big.Float |
