diff options
author | Russ Cox <rsc@golang.org> | 2009-08-24 21:16:15 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-08-24 21:16:15 -0700 |
commit | b688f19f674f8e160ce868bfead09a5b937101df (patch) | |
tree | 2ff53a077a959f063554685484c44a4ecec1e2d1 /usr/rsc/gmp/main.go | |
parent | 5d7c0b6214f853469006f19582fa7b26fa47b896 (diff) | |
download | golang-b688f19f674f8e160ce868bfead09a5b937101df.tar.gz |
cgocall bug fix.
better FFI demo: compute fibonacci numbers using FFI'ed libgmp.
R=r
DELTA=281 (255 added, 19 deleted, 7 changed)
OCL=33815
CL=33820
Diffstat (limited to 'usr/rsc/gmp/main.go')
-rw-r--r-- | usr/rsc/gmp/main.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/usr/rsc/gmp/main.go b/usr/rsc/gmp/main.go new file mode 100644 index 000000000..0b25d2544 --- /dev/null +++ b/usr/rsc/gmp/main.go @@ -0,0 +1,28 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + + +package main + +import big "gmp" +//import "big" +import "fmt" + +func Fib(n int) *big.Int { + a := big.NewInt(0); + b := big.NewInt(1); + + for i := 0; i < n; i++ { + a, b = b, a; + b.Add(a, b); + } + + return b; +} + +func main() { + for i := 0; i <= 100; i++ { + fmt.Println(5*i, Fib(5*i)); + } +} |