annotate ai_test.go @ 1:c32b619844ba default tip

add eview.go.
author pyon@macmini
date Sun, 17 Sep 2017 14:33:27 +0900
parents 43e580fa4719
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
1 package main
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
2
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
3 // $ go test -bench=.
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
4 /*
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
5 void cint_bench( int n ) {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
6 int x = 1;
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
7 for( i:=0; i < n; i++ ){
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
8 x += x * 1 + x * 1;
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
9 x -= x * 1 + x * 1;
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
10 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
11 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
12
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
13 void cfloat_bench( int n ) {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
14 float x = 1.0;
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
15 for( i:=0; i < n; i++ ){
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
16 x += x * 1.0 + x * 1.0;
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
17 x -= x * 1.0 + x * 1.0;
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
18 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
19 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
20 import "C"
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
21 */
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
22
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
23 import (
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
24 //"container/list"
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
25 "fmt"
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
26 "math/rand"
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
27 "sort"
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
28 "testing"
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
29 )
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
30
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
31 func BenchmarkIntBench( b *testing.B ) {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
32 x := 1;
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
33 for i:=0; i < b.N; i++ {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
34 x += x * 1 + x * 1
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
35 x -= x * 1 + x * 1
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
36 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
37 //fmt.Println( x )
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
38 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
39
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
40 func BenchmarkFloatBench( b *testing.B ) {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
41 x := 1.0;
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
42 for i:=0; i < b.N; i++ {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
43 x += x * 1.0 + x * 1.0
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
44 x -= x * 1.0 + x * 1.0
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
45 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
46 //fmt.Println( x )
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
47 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
48
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
49 /*
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
50 func BenchmarkCIntBench( b *testing.B ) {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
51 C.cint_bench( b.N )
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
52 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
53
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
54 func BenchmarkCFloatBench( b *testing.B ) {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
55 C.cfloat_bench( b.N )
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
56 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
57 */
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
58
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
59 func TestX( t *testing.T ) {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
60 for i:=0; i < 20; i++ {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
61 fmt.Println( rand.Intn( 3 ) - 1 )
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
62 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
63 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
64
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
65 // $ go test -run="S1"
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
66 func TestS1( t *testing.T ) {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
67 type Idx struct {
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
68 index int
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
69 value int
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
70 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
71 god7 := []Idx{ { 0,6 }, { 1,1 }, { 2,3 }, { 3,2 }, { 4,4 }, { 5,0 }, { 6,6 } }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
72 sort.SliceStable( god7, func( i, j int ) bool { return god7[i].value < god7[j].value } )
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
73 fmt.Println( god7 )
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
74 }
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
75
43e580fa4719 first commit.
pyon@macmini
parents:
diff changeset
76