v0.0.586
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 2m33s
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 2m33s
This commit is contained in:
parent
09932046f8
commit
b23a444aa2
@ -1,5 +1,5 @@
|
|||||||
package goext
|
package goext
|
||||||
|
|
||||||
const GoextVersion = "0.0.585"
|
const GoextVersion = "0.0.586"
|
||||||
|
|
||||||
const GoextVersionTimestamp = "2025-07-04T11:46:00+0200"
|
const GoextVersionTimestamp = "2025-07-04T13:56:53+0200"
|
||||||
|
@ -148,12 +148,16 @@ func Avg(v ...time.Time) time.Time {
|
|||||||
return time.Time{}
|
return time.Time{}
|
||||||
}
|
}
|
||||||
|
|
||||||
var sum int64
|
t0 := v[0].UnixNano()
|
||||||
|
|
||||||
|
var dsum int64
|
||||||
for _, t := range v {
|
for _, t := range v {
|
||||||
sum += t.UnixNano()
|
dsum += t.UnixNano() - t0
|
||||||
}
|
}
|
||||||
|
|
||||||
return time.Unix(0, sum/int64(len(v)))
|
tAvg := t0 + (dsum / int64(len(v)))
|
||||||
|
|
||||||
|
return time.Unix(0, tAvg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Median(v ...time.Time) time.Time {
|
func Median(v ...time.Time) time.Time {
|
||||||
|
@ -242,6 +242,25 @@ func TestAvg_MultipleValues(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAvg_ManyValues(t *testing.T) {
|
||||||
|
t1 := time.Date(2022, 1, 1, 0, 0, 0, 0, time.UTC)
|
||||||
|
t2 := time.Date(2022, 1, 2, 0, 0, 0, 0, time.UTC)
|
||||||
|
t3 := time.Date(2022, 1, 3, 0, 0, 0, 0, time.UTC)
|
||||||
|
t4 := time.Date(2022, 1, 4, 0, 0, 0, 0, time.UTC)
|
||||||
|
t5 := time.Date(2022, 1, 5, 0, 0, 0, 0, time.UTC)
|
||||||
|
t6 := time.Date(2022, 1, 6, 0, 0, 0, 0, time.UTC)
|
||||||
|
t7 := time.Date(2022, 1, 7, 0, 0, 0, 0, time.UTC)
|
||||||
|
t8 := time.Date(2022, 1, 8, 0, 0, 0, 0, time.UTC)
|
||||||
|
t9 := time.Date(2022, 1, 9, 0, 0, 0, 0, time.UTC)
|
||||||
|
|
||||||
|
expected := time.Date(2022, 1, 5, 0, 0, 0, 0, time.UTC)
|
||||||
|
result := Avg(t1, t2, t3, t4, t5, t6, t7, t8, t9)
|
||||||
|
|
||||||
|
if !result.Equal(expected) {
|
||||||
|
t.Errorf("Expected %v but got %v", expected, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestAvg_TwoValues(t *testing.T) {
|
func TestAvg_TwoValues(t *testing.T) {
|
||||||
t1 := time.Date(2022, 1, 1, 0, 0, 0, 0, time.UTC)
|
t1 := time.Date(2022, 1, 1, 0, 0, 0, 0, time.UTC)
|
||||||
t2 := time.Date(2022, 1, 3, 0, 0, 0, 0, time.UTC)
|
t2 := time.Date(2022, 1, 3, 0, 0, 0, 0, time.UTC)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user