Averages/Simple moving average: Difference between revisions

Content added Content deleted
m (→‎{{header|Phix}}: added syntax colouring, marked p2js compatible)
Line 1,172: Line 1,172:
acc / c
acc / c
}
}

func sma(p) {
func sma(p) {
var s = []
var s = []
x => {
x => {
if s.len() >= p {
if s.Length() >= p {
s.removeAt(0)
s.RemoveAt(0)
}
}
s.insert(s.len(), x)
s.Insert(s.Length(), x)
avg(s)
avg(s)
};
};
}
}

var nums = Iterator.concat(1.0..5.0, 5.0..1.0)
var nums = Iterator.Concat(1.0..5.0, 5.0..1.0)
var sma3 = sma(3)
var sma3 = sma(3)
var sma5 = sma(5)
var sma5 = sma(5)

for n in nums {
for n in nums {
print("\(n)\t(sma3) \(sma3(n))\t(sma5) \(sma5(n))")
print("\(n)\t(sma3) \(sma3(n))\t(sma5) \(sma5(n))")