changeset 1:c32b619844ba default tip

add eview.go.
author pyon@macmini
date Sun, 17 Sep 2017 14:33:27 +0900
parents 43e580fa4719
children
files ai.go eview.go
diffstat 2 files changed, 59 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ai.go	Mon Sep 04 21:40:33 2017 +0900
+++ b/ai.go	Sun Sep 17 14:33:27 2017 +0900
@@ -80,7 +80,7 @@
     swatch( "calc & eval done." )
 
     // 初期値出力
-	mfile := "data/s00.dat"
+	mfile := "data/s0000.dat"
 	if err := save_tmp( mfile, true, false ); err != nil {
 		fmt.Fprintf( os.Stderr, "%v\n", err )
 		log.Fatal( err )
@@ -88,13 +88,13 @@
     swatch( "mid-save done." )
 
     // パラメタ書換えつつ探索
-    for n := 0; n < 200; n++ {
+    for n := 0; n < 2000; n++ {
         update()
-        swatch( "update done." )
+        swatch( fmt.Sprintf( "update/%05d done.", n )
 
         calc_eval()
         swatch( "calc & eval done." )
-        mfile = fmt.Sprintf( "data/m%02d.dat", n )
+        mfile = fmt.Sprintf( "data/m%04d.dat", n )
         if err := save_tmp( mfile, true, false ); err != nil {
             fmt.Fprintf( os.Stderr, "%v\n", err )
             log.Fatal( err )
@@ -365,6 +365,6 @@
 // 時間計測
 func swatch( s string ) {
     sw = time.Now()
-    fmt.Fprintf( os.Stderr, "[ %v ( %v ) ]\t%s.\n", time.Since( ps ), time.Since( sw ), s )
+    fmt.Fprintf( os.Stderr, "[ %v ( %v ) ]\t%s\n", time.Since( ps ), time.Since( sw ), s )
 }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eview.go	Sun Sep 17 14:33:27 2017 +0900
@@ -0,0 +1,54 @@
+package main
+
+import (
+    "bufio"
+    "flag"
+    "fmt"
+    "io/ioutil"
+    "log"
+    "os"
+    "sort"
+    "strings"
+)
+
+var n int
+var dir string
+func init() {
+	flag.IntVar( &n,   "n", 20, "print top N" )
+	flag.StringVar( &dir, "d", "data", "directory" )
+}
+
+func main() {
+    flag.Parse()
+
+	files, err := ioutil.ReadDir( dir )
+	if err != nil {
+		log.Fatal( err )
+	}
+
+    var ea []string
+	for _, file := range files {
+        if strings.HasPrefix( file.Name(), "m" ) {
+            f, err := os.Open( dir + "/" + file.Name() )
+            if err != nil {
+                log.Fatal( err )
+            }
+
+            scanner := bufio.NewScanner( f )
+            for scanner.Scan() {
+                if ! strings.HasPrefix( scanner.Text(), "ea = 9999.99" ) {
+                    ea = append( ea, scanner.Text() )
+                }
+            }
+            f.Close()
+        }
+	}
+
+    sort.Strings( ea )
+    for i, e := range ea {
+        if i > n - 1 {
+            break
+        }
+        fmt.Println( e )
+    }
+}