LEFT_INPUT = ("L0", "L1", "L2", "L3") RIGHT_INPUT = ("R0", "R1", "R2", "R3") # LEFT_INPUT RIGHT_INPUT # | | # |(printer) |(printer) # | | # left_iter right_iter numap = NuMap(stride=2) left_iter = numap.add_task(printer, LEFT_INPUT) right_iter = numap.add_task(printer, RIGHT_INPUT) numap.start() # 2 2 2 2 # ------ ------ ------ ------ # order of input L0, L1, R0, R1, L2, L3, R2, R3 L0 = left_iter.next() L1 = left_iter.next() R0 = right_iter.next() R1 = right_iter.next() L2 = left_iter.next() L3 = left_iter.next() R2 = right_iter.next() R3 = right_iter.next() assert (L0, L1, L2, L3) == LEFT_INPUT
# -*- coding: utf-8 -*- from numap import NuMap def source(element): print "in source: %s" % (element, ) return element def pipe(element): print "in pipe: %s" % (element, ) return element def sink(element): print "in sink: %s" % (element, ) return element ELEMENTS = ('element_0', 'element_1', 'element_2', 'element_3', 'element_4') nu_chain = NuMap() source_out = nu_chain.add_task(source, ELEMENTS) pipe_out = nu_chain.add_task(pipe, source_out) sink_out = nu_chain.add_task(sink, pipe_out) nu_chain.start() results = tuple(sink_out) assert results == ('element_0', 'element_1', 'element_2', 'element_3', 'element_4')
# -*- coding: utf-8 -*- from numap import NuMap from itertools import izip def left(element): print "in left: %s" % (element,) return element def right(element): print "in right: %s" % (element,) return element def root(element): print "in root: %s" % (element,) return element LEFT = ('left_0', 'left_1', 'left_2', 'left_3', 'left_4') RIGHT = ('right_0', 'right_1', 'right_2', 'right_3', 'right_4') nu_chain = NuMap() left_out = nu_chain.add_task(left, LEFT) right_out = nu_chain.add_task(right, RIGHT) root_out = nu_chain.add_task(root, izip(left_out, right_out)) nu_chain.start() results = tuple(root_out) assert results == (('left_0', 'right_0'), ('left_1', 'right_1'), ('left_2', 'right_2'), ('left_3', 'right_3'), ('left_4', 'right_4'))
return element LEFT_INPUT = ('L0', 'L1', 'L2', 'L3') RIGHT_INPUT = ('R0', 'R1', 'R2', 'R3') # LEFT_INPUT RIGHT_INPUT # | | # |(printer) |(printer) # | | # left_iter right_iter numap = NuMap(stride=2) left_iter = numap.add_task(printer, LEFT_INPUT) right_iter = numap.add_task(printer, RIGHT_INPUT) numap.start() # 2 2 2 2 # ------ ------ ------ ------ # order of input L0, L1, R0, R1, L2, L3, R2, R3 L0 = left_iter.next() L1 = left_iter.next() R0 = right_iter.next() R1 = right_iter.next() L2 = left_iter.next() L3 = left_iter.next() R2 = right_iter.next() R3 = right_iter.next() assert (L0, L1, L2, L3) == LEFT_INPUT