func (h Histogram) Variance() float64 {
	return h.Snapshot().Variance()
}
Variance returns the variance of inputs.
package reporting
import (
	metrics "github.com/rcrowley/go-metrics"
	"github.com/wavefronthq/wavefront-sdk-go/histogram"
)
type Histogram struct {
	delegate histogram.Histogram
}
func NewHistogram(options ...histogram.Option) metrics.Histogram {
	return Histogram{delegate: histogram.New(options...)}
}
func (h Histogram) Clear() {
	panic("Clear called on a Histogram")
}
func (h Histogram) Count() int64 {
	return int64(h.delegate.Count())
}
func (h Histogram) Min() int64 {
	return int64(h.delegate.Min())
}
func (h Histogram) Max() int64 {
	return int64(h.delegate.Max())
}
func (h Histogram) Sum() int64 {
	return int64(h.delegate.Sum())
}
func (h Histogram) Mean() float64 {
	return h.delegate.Mean()
}
func (h Histogram) Update(v int64) {
	h.delegate.Update(float64(v))
}
func (h Histogram) Sample() metrics.Sample {
	panic("Sample not supported")
}
func (h Histogram) Snapshot() metrics.Histogram {
	c := 0
	for _, distribution := range h.delegate.Snapshot() {
		for _, centroid := range distribution.Centroids {
			c += centroid.Count
		}
	}
	sample := metrics.NewUniformSample(c)
	for _, distribution := range h.delegate.Snapshot() {
		for _, centroid := range distribution.Centroids {
			for i := 0; i < centroid.Count; i++ {
				sample.Update(int64(centroid.Value))
			}
		}
	}
	return metrics.NewHistogram(sample)
}
func (h Histogram) StdDev() float64 {
	return h.Snapshot().StdDev()
}