25 lines
445 B
Go
25 lines
445 B
Go
package stats
|
|
|
|
import "math"
|
|
|
|
// Max finds the highest number in a slice
|
|
func Max(input Float64Data) (max float64, err error) {
|
|
|
|
// Return an error if there are no numbers
|
|
if input.Len() == 0 {
|
|
return math.NaN(), EmptyInput
|
|
}
|
|
|
|
// Get the first value as the starting point
|
|
max = input.Get(0)
|
|
|
|
// Loop and replace higher values
|
|
for i := 1; i < input.Len(); i++ {
|
|
if input.Get(i) > max {
|
|
max = input.Get(i)
|
|
}
|
|
}
|
|
|
|
return max, nil
|
|
}
|