func (r *Reservoir) Update(v float64) {
	r.m.Lock()
	r.hist.Add(v)
	r.m.Unlock()
}
func (r *Reservoir) Update(v float64) {
	r.m.Lock()
	r.hist.Add(v)
	r.m.Unlock()
}
// Update fills the sample randomly with given value,
// for reference, see: http://en.wikipedia.org/wiki/Reservoir_sampling