Coverage for local/lib/python2.7/site-packages/sage/parallel/reference.py : 57%
        
        
    Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
| 
 """ Reference Parallel Primitives 
 These are reference implementations of basic parallel primitives. These are not actually parallel, but work the same way. They are good for testing. """ from __future__ import print_function, absolute_import 
 from sage.misc.prandom import shuffle 
 
 def parallel_iter(f, inputs): """ Reference parallel iterator implementation. 
 INPUT: 
 - ``f`` -- a Python function that can be pickled using the pickle_function command. 
 - ``inputs`` -- a list of pickleable pairs (args, kwds), where args is a tuple and kwds is a dictionary. 
 OUTPUT: 
 - iterator over 2-tuples ``(inputs[i], f(inputs[i]))``, where the order may be completely random 
 EXAMPLES:: 
 sage: def f(N,M=10): return N*M sage: inputs = [((2,3),{}), (tuple([]), {'N':3,'M':5}), ((2,),{})] sage: set_random_seed(0) sage: for a, val in sage.parallel.reference.parallel_iter(f, inputs): ....: print((a, val)) (((2,), {}), 20) (((), {'M': 5, 'N': 3}), 15) (((2, 3), {}), 6) sage: for a, val in sage.parallel.reference.parallel_iter(f, inputs): ....: print((a, val)) (((), {'M': 5, 'N': 3}), 15) (((2,), {}), 20) (((2, 3), {}), 6) """  |