func NewStat(data []float64) Stat { return Stat{ Min: stats.StatsMin(data), Max: stats.StatsMax(data), Mean: stats.StatsMean(data), StdDev: stats.StatsPopulationStandardDeviation(data), Total: stats.StatsSum(data), } }
func Stats(H []Estudiante) { in := make([]float64, len(H)) for i := 0; i < len(H); i++ { in[i] = H[i].Renta + H[i].Beca } log.Println("StdDev", stats.StatsPopulationStandardDeviation(in)) log.Println("Mean", stats.StatsMean(in)) }
func (r *Report) DistributionScore() float64 { memoryCounts := []float64{} for _, instances := range r.InstancesByRep { memoryCount := 0.0 for _, instance := range instances { memoryCount += float64(instance.MemoryMB) } memoryCounts = append(memoryCounts, memoryCount) } return stats.StatsPopulationStandardDeviation(memoryCounts) / stats.StatsMean(memoryCounts) }
func (r *Report) InitialDistributionScore() float64 { memoryCounts := []float64{} for _, instances := range r.InstancesByRep { memoryCount := 0.0 for _, instance := range instances { if !r.IsAuctionedInstance(instance) { memoryCount += float64(instance.MemoryMB) } } memoryCounts = append(memoryCounts, memoryCount) } if stats.StatsSum(memoryCounts) == 0 { return 0 } return stats.StatsPopulationStandardDeviation(memoryCounts) / stats.StatsMean(memoryCounts) }