This commit is contained in:
2026-08-24 20:53:21 +08:00
commit 6e78bba16a
287 changed files with 32443 additions and 0 deletions

28
com/ema.go Normal file
View File

@@ -0,0 +1,28 @@
package com
import "math"
type Ema struct {
Alpha float64
Val float64
}
func NewEMA(alpha float64) *Ema {
return &Ema{Alpha: alpha}
}
func (e *Ema) Update(val float64) float64 {
if math.IsNaN(val) || math.IsInf(val, 0) {
return math.NaN()
}
if e.Val == 0 {
e.Val = val
} else {
e.Val = e.Val*(1-e.Alpha) + val*e.Alpha
}
return e.Val
}
func (e *Ema) Reset() {
e.Val = 0
}