Re: multivar for loop variables
[email protected] Wed, 29 Apr 2026 21:52:37 +0200
| Newsgroups | gmane.comp.mathematics.pari.devel |
|---|---|
| Message-ID | <[email protected]> |
On 2026-04-29 20:31, Bill Allombert wrote: > I have commited an experimental change (39f42a6ce5) > That allow to use multivar for loop variables as well: > > for example, instead of writing > > foreach(factor(5!)~,pe,my([p,e]=pe);print(p,"^",e)) > > one can now write > thank you, I really like that. I built the current git, and it directly works as advertized with my RSA_numbers_factored pari library I created 3 years ago: hermann@8840hs:~/pari$ ./gp -q ~/RSA_numbers_factored/pari/RSA_numbers_factored.gp ? foreach(RSA.factored(mod4=[1,1]),[l,n,p,q],print1(l" ")) 59 129 180 230 768 ? foreach(RSA.factored(mod4=3),[,n],print1(#digits(n)" ")) 79 100 110 120 140 150 170 174 200 210 212 232 240 ? ".factored(...)" returns 4-tuples, and your new feature seems to deal correctly when less than 4 of the components are requested. > The drawback is that this is not supported by GP2C and this might be > difficult to > implement correctly in all case, given the various way iterators are > implemented > in GP2C. > I see that it may be a problem, but since I seldom use GP2C I could live with that. In case I would use the new feature and the need arises to use GP2C, I would just create copy with the workaround you mentioned and compile that. Regards, Hermann.