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. |
if s.Length() >= p { |
||
s. |
s.RemoveAt(0) |
||
} |
} |
||
s. |
s.Insert(s.Length(), x) |
||
avg(s) |
avg(s) |
||
}; |
}; |
||
} |
} |
||
var nums = Iterator. |
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))") |