%% syntaxe : n roll+p --> considere la pile comme une file circulaire
%% de n points, et la tourne d'un cran dans le sens +
/roll+p {
1 dict begin
2 mul
/n exch def
n 1 roll
n 1 roll
end
} def
%% syntaxe : n roll-p --> considere la pile comme une file circulaire
%% de n points, et la tourne d'un cran dans le sens -
/roll-p {
1 dict begin
2 mul
/n exch def
n -1 roll
n -1 roll
end
} def
%% syntaxe : n p rollp --> considere la pile comme une file circulaire
%% de n points, et la tourne de p crans
/rollp {
2 dict begin
/p exch def
/n exch def
p 0 gt
{p {n roll+p} repeat}
{p neg {n roll-p} repeat}
ifelse
end
} def
|