RosettaCodeData/Task/Generator-Exponential/PARI-GP/generator-exponential.parigp
2023-07-01 13:44:08 -04:00

5 lines
213 B
Text

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;