32 lines
564 B
Go
32 lines
564 B
Go
package main
|
|
|
|
import (
|
|
"bufio"
|
|
"flag"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"strconv"
|
|
"strings"
|
|
|
|
"mcquay.me/ostat"
|
|
)
|
|
|
|
var dots = flag.Bool("dots", false, "print dots")
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
ps := ostat.NewPopulationStat()
|
|
s := bufio.NewScanner(os.Stdin)
|
|
for s.Scan() {
|
|
f, err := strconv.ParseFloat(strings.TrimSpace(s.Text()), 64)
|
|
if err != nil {
|
|
log.Printf("%+v", err)
|
|
continue
|
|
}
|
|
ps.Push(f)
|
|
}
|
|
l, u := ps.CI()
|
|
fmt.Printf("n: %d, min: %0.0f, avg: %0.4f, max: %0.0f, std: %0.4f, CI: (%f, %f)\n", ps.N(), ps.Min, ps.Mean(), ps.Max, ps.StdDev(), l, u)
|
|
}
|