in toutoumomoma.go [301:324]
func streamEntropy(r io.Reader) (entropy, variance float64, err error) {
// Tally classes.
var (
counts [256]float64
n int
buf [4096]byte
)
for {
_n, err := r.Read(buf[:])
n += _n
for _, b := range buf[:_n] {
counts[b]++
}
if err != nil {
if err != io.EOF {
return 0, 0, err
}
break
}
}
entropy, variance = entropyVariance(&counts, n)
return entropy, variance, nil
}