RosettaCodeData/Task/Averages-Simple-moving-average/Quackery/averages-simple-moving-aver...

35 lines
832 B
Plaintext

[ $ "bigrat.qky" loadfile ] now!
[ over size -
space swap of
join ] is pad ( $ n --> $ )
[ ' [ stack [ ] ]
copy nested
' [ tuck take swap join
dup size ] join
swap join
' [ > if
[ 1 split nip ]
tuck swap put
0 over witheach +
swap size
dip n->v n->v v/ ]
join copy ] is make-sma ( n --> [ )
( behaviour of [ is: n --> n/d )
[ stack ] is sma-3 ( --> s )
3 make-sma sma-3 put
[ stack ] is sma-5 ( --> s )
5 make-sma sma-5 put
say "n sma-3 sma-5" cr cr
' [ 1 2 3 4 5 5 4 3 2 1 ]
witheach
[ dup echo sp
dup sma-3 share do
7 point$ 10 pad echo$ sp
sma-5 share do
7 point$ 10 pad echo$ cr ]