RosettaCodeData/Task/Forward-difference/Pop11/forward-difference.pop11
Ingy döt Net d066446780 langs a-z
2013-04-10 22:43:41 -07:00

20 lines
400 B
Text

define forward_difference(l);
lvars res = [], prev, el;
if l = [] then
return([]);
endif;
front(l) -> prev;
for el in back(l) do
cons(el - prev, res) -> res;
el -> prev;
endfor;
rev(res);
enddefine;
define nth_difference(l, n);
lvars res = l, i;
for i from 1 to n do
forward_difference(res) -> res;
endfor;
res;
enddefine;