%PDF- %PDF-
Direktori : /lib/python3/dist-packages/pythran/analyses/ |
Current File : //lib/python3/dist-packages/pythran/analyses/parallel_maps.py |
""" ParallelMaps detects parallel map(...). """ from pythran.analyses.aliases import Aliases from pythran.analyses.pure_expressions import PureExpressions from pythran.passmanager import ModuleAnalysis from pythran.tables import MODULES class ParallelMaps(ModuleAnalysis): """Yields the est of maps that could be parallel.""" def __init__(self): self.result = set() super(ParallelMaps, self).__init__(PureExpressions, Aliases) def visit_Call(self, node): if all(alias == MODULES['builtins']['map'] for alias in self.aliases[node.func]): if all(f in self.pure_expressions for f in self.aliases[node.args[0]]): self.result.add(node) def display(self, data): for node in data: print("I:", "{0} {1}".format( "call to the `map' intrinsic could be parallel", "(line {0})".format(node.lineno) ))