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
|
||
|
}
|