mirror of
https://github.com/golang/go
synced 2024-11-19 04:54:41 -07:00
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>
This commit is contained in:
parent
ef0b03137d
commit
0a8a625848
@ -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 (
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user