diff Looping.go @ 10:308cc64c24b9 >>178

Goのソースコードを追加。
author "uncorrelated zombie" <uncorrelated@yahoo.co.jp>
date Thu, 24 Feb 2011 07:31:17 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Looping.go	Thu Feb 24 07:31:17 2011 +0900
@@ -0,0 +1,32 @@
+package main
+
+import fmt "fmt"
+import tm "time"
+
+type Looping struct {
+	n0 int;
+}
+
+func (this *Looping) calc(n int) (int) {
+	var n1 = this.n0 + (1 - 2*(n%2))
+	this.n0 = n
+	return n1
+}
+
+func NewLooping () *Looping {
+	var o = new(Looping)
+	o.n0 = 0
+	return o
+}
+
+func main() {
+	var o = NewLooping()
+	var n = 1
+	var t1 = tm.Nanoseconds()
+	for c:=0; c<2147483647; c++ {
+		n = o.calc(n)
+	}
+	var t2 = tm.Nanoseconds()
+	fmt.Printf("%d\nGo:\t%f\n", n, ((float64)(t2 - t1))/1000000000)
+}
+