./Configure --mt=pthread --time=ftime make test-parallel make test-rnfkummer ln -s Olinux-x86_64/gp-sta . ./gp-sta default(nbthreads) ismersenne(x)=ispseudoprime(2^x-1); default(timer,1); apply(ismersenne,primes(400)) parapply(ismersenne,primes(400)) select(ismersenne,primes(400)) parselect(ismersenne,primes(400)) V=primes(400); parvector(#V,i,ispseudoprime(2^V[i]-1)) break fun(V)=parvector(#V,i,ispseudoprime(2^V[i]-1)); fun(V) my(V=primes(400));parvector(#V,i,ispseudoprime(2^V[i]-1)) my(V=V);parvector(#V,i,ispseudoprime(2^V[i]-1)) ismersenne(x)=ispseudoprime(2^x-1); fun(V)=parvector(#V,i,ismersenne(V[i])); fun(primes(400)) break fun(V)= { my(ismersenne=ismersenne); parvector(#V,i,ismersenne(V[i])); } fun(primes(400)) inline(ismersenne); ismersenne(x)=ispseudoprime(2^x-1); fun(V)=parvector(#V,i,ismersenne(V[i])); fun(primes(400)) fun(n)=bnfinit(x^n-2).no; parapply(fun,[1..30]) break fun(n)=bnfinit('x^n-2).no; default(timer,1); default(parisize,"16M"); apply(fun,[1..30]) parapply(fun,[1..30]) parapply(fun,-[-30..-1]) inline(thuemorse); thuemorse(n)= my(V=binary(n)); (-1)^sum(i=1,#V,V[i]); default(timer,1); sum(n=1,2*10^6, thuemorse(n)/n*1.) parsum(n=1,2*10^6, thuemorse(n)/n*1.) parsum(N=1,200, \ sum(n=1+(N-1)*10^4, N*10^4, thuemorse(n)/n*1.)) inline(ismersenne); ismersenne(x)=ispseudoprime(2^x-1); parforprime(p=1,1000,ismersenne(p),c,if(c,print(p))) prodmersenne(N)= { my(R=1); parforprime(p=1,N, ismersenne(p), c, if(c, R*=p)); R; } prodmersenne(1000) inline(ismersenne); ismersenne(x)=ispseudoprime(2^x-1); findmersenne(a)= parforprime(p=a,,ismersenne(p),c,if(c,return(p))); findmersenne(4000) findmersenne(8) findmersenne(8) inline(ismersenne); ismersenne(x)=ispseudoprime(2^x-1); parfirst(fun,V)= parfor(i=1,#V,fun(V[i]),j,if(j,return([i,j]))); parfirst(ismersenne,[4001..5000])