diff options
author | Nick White <git@njw.name> | 2019-01-24 17:02:56 +0000 |
---|---|---|
committer | Nick White <git@njw.name> | 2019-01-24 17:02:56 +0000 |
commit | 20a479c5a9dbdb24e3fe08aeb94440ade6a88de9 (patch) | |
tree | 653253ee8f20b3c566e97d063933a52fa141fa46 /parse/prob | |
parent | 55a93a583ad41693166d176abd908d0aa2e85784 (diff) |
Simplify .prob processing
Diffstat (limited to 'parse/prob')
-rw-r--r-- | parse/prob/prob.go | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/parse/prob/prob.go b/parse/prob/prob.go index 6781a1a..8d01cab 100644 --- a/parse/prob/prob.go +++ b/parse/prob/prob.go @@ -1,7 +1,6 @@ package prob import ( - "bufio" "io/ioutil" "path/filepath" "strconv" @@ -10,22 +9,21 @@ import ( "git.rescribe.xyz/testingtools/parse" ) -// TODO: probably switch to just relying on io.Reader -func getLineAvg(r *bufio.Reader) (float64, error) { - var err error - +func getLineAvg(f string) (float64, error) { totalconf := float64(0) num := 0 - err = nil - for err == nil { - var line string - line, err = r.ReadString('\n') + prob, err := ioutil.ReadFile(f) + if err != nil { + return 0, err + } + + for _, line := range strings.Split(string(prob), "\n") { fields := strings.Fields(line) if len(fields) == 2 { - conf, converr := strconv.ParseFloat(fields[1], 64) - if converr != nil { + conf, err := strconv.ParseFloat(fields[1], 64) + if err != nil { continue } totalconf += conf @@ -39,18 +37,17 @@ func getLineAvg(r *bufio.Reader) (float64, error) { return avg, nil } -// TODO: probably switch to just relying on io.Reader // Note this only processes one line at a time -func GetLineDetails(name string, r *bufio.Reader) (parse.LineDetails, error) { +func GetLineDetails(probfn string) (parse.LineDetails, error) { var line parse.LineDetail lines := make(parse.LineDetails, 0) - avg, err := getLineAvg(r) + avg, err := getLineAvg(probfn) if err != nil { return lines, err } - filebase := strings.Replace(name, ".prob", "", 1) + filebase := strings.Replace(probfn, ".prob", "", 1) txt, err := ioutil.ReadFile(filebase + ".txt") if err != nil { |