Parallel evaluation of f
on the elements of x
.
The function f
must not access global variables or variables
declared with local(), and must be free of side effects.
parapply(factor,[2^256 + 1, 2^193 - 1])
factors 2^{256} + 1 and 2^{193} - 1 in parallel.
{ my(E = ellinit([1,3]), V = vector(12,i,randomprime(2^200))); parapply(p->ellcard(E,p), V) }
computes the order of E(F_p) for 12 random primes of 200 bits.
The library syntax is GEN parapply(GEN f, GEN x)
.
Parallel evaluation of the elements of x
, where x
is a
vector of closures. The closures must be of arity 0, must not access
global variables or variables declared with local
and must be
free of side effects.
The library syntax is GEN pareval(GEN x)
.
Evaluates the sequence expr2
(dependent on i and j) for i
between a and b, in random order, computed in parallel; in this sequence
expr2
, substitute the variable j by the value of expr1
(dependent on i). If b is omitted, the loop will not stop.
It is allowed for expr2
to exit the loop using
break
/next
/return
; however in that case, expr2
will
still be evaluated for all remaining value of i less than the current one,
unless a subsequent break
/next
/return
happens.
Evaluates the sequence expr2
(dependent on p and j) for p
prime between a and b, in random order, computed in parallel. Substitute
for j the value of expr1
(dependent on p).
If b is omitted, the loop will not stop.
It is allowed fo expr2
to exit the loop using
break
/next
/return
, however in that case, expr2
will
still be evaluated for all remaining value of p less than the current one,
unless a subsequent break
/next
/return
happens.
Selects elements of A according to the selection function f, done in
parallel. If flag is 1, return the indices of those elements (indirect
selection) The function f
must not access global variables or
variables declared with local(), and must be free of side effects.
The library syntax is GEN parselect(GEN f, GEN A, long flag )
.
Sum of expression expr, initialized at x, the formal parameter
going from a to b, evaluated in parallel in random order.
The expression expr
must not access global variables or
variables declared with local()
, and must be free of side effects.
parsum(i=1,1000,ispseudoprime(2^prime(i)-1))
returns the numbers of prime numbers among the first 1000 Mersenne numbers.
As vector(N,i,expr)
but the evaluations of expr
are done in
parallel. The expression expr
must not access global variables or
variables declared with local()
, and must be free of side effects.
parvector(10,i,quadclassunit(2^(100+i)+1).no)
computes the class numbers in parallel.