代码拉取完成,页面将自动刷新
package formula
import (
"gitee.com/quant1x/num"
"gitee.com/quant1x/pandas"
)
// SUM 求累和
// 如果N=0, 则从第一个有效值累加到当前
// 下一步再统一返回值
func SUM(S pandas.Series, N any) pandas.Series {
return v2SUM(S, N)
}
func v1SUM(S pandas.Series, N any) pandas.Series {
return S.Rolling(N).Sum()
}
func v2SUM(S pandas.Series, N any) pandas.Series {
x := S.Values()
switch vs := x.(type) {
case []int32:
d := num.RollingV1(vs, N, func(N num.DType, values ...int32) int32 {
return num.Sum(values)
})
return pandas.SliceToSeries(d)
case []int64:
d := num.RollingV1(vs, N, func(N num.DType, values ...int64) int64 {
return num.Sum(values)
})
return pandas.SliceToSeries(d)
case []float32:
d := num.RollingV1(vs, N, func(N num.DType, values ...float32) float32 {
return num.Sum(values)
})
return pandas.SliceToSeries(d)
case []float64:
d := num.RollingV1(vs, N, func(N num.DType, values ...float64) float64 {
return num.Sum(values)
})
return pandas.SliceToSeries(d)
}
panic(num.ErrUnsupportedType)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。