RosettaCodeData/Task/Generator-Exponential/PARI-GP/generator-exponential.pari

6 lines
213 B
Text
Raw Permalink Normal View History

2017-09-23 10:01:46 +02:00
g = List(1); \\ generator stack
genpow(p) = my(a=g[1]++);listput(g,[0,p]);()->g[a][1]++^g[a][2];
genpowf(p,f) = my(a=g[1]++);listput(g,[0,p]);(s=0)->my(q);while(ispower(p=g[a][1]++^g[a][2],f)||(s&&q++<=s),);p;