コード例 #1
0
ファイル: nodes.py プロジェクト: cpenny42/dace
            "{}={}".format(i, r)
            for i, r in zip(self._params,
                            [sbs.Range.dim_to_string(d) for d in self._range])
        ]) + "]"

    def validate(self, sdfg, state, node):
        if not data.validate_name(self.label):
            raise NameError('Invalid map name "%s"' % self.label)

    def get_param_num(self):
        """ Returns the number of map dimension parameters/symbols. """
        return len(self.params)


# Indirect Map properties to MapEntry and MapExit
MapEntry = indirect_properties(Map, lambda obj: obj.map)(MapEntry)
MapExit = indirect_properties(Map, lambda obj: obj.map)(MapExit)

# ------------------------------------------------------------------------------


class ConsumeEntry(EntryNode):
    """ Node that opens a Consume scope. 
        @see: Consume
    """
    def __init__(self, consume, dynamic_inputs=set()):
        super(ConsumeEntry, self).__init__(dynamic_inputs)
        if consume is None:
            raise ValueError("Consume for ConsumeEntry can not be None.")
        self._consume = consume
        self._map_depth = 0
コード例 #2
0
ファイル: nodes.py プロジェクト: targetsm/dace
        return self.label + "[" + ", ".join([
            "{}={}".format(i, r) for i, r in zip(
                self._params, [sbs.Range.dim_to_string(d) for d in self._range])
        ]) + "]"

    def validate(self, sdfg, state, node):
        if not dtypes.validate_name(self.label):
            raise NameError('Invalid map name "%s"' % self.label)

    def get_param_num(self):
        """ Returns the number of map dimension parameters/symbols. """
        return len(self.params)


# Indirect Map properties to MapEntry and MapExit
MapEntry = indirect_properties(Map, lambda obj: obj.map)(MapEntry)

# ------------------------------------------------------------------------------


@dace.serialize.serializable
class ConsumeEntry(EntryNode):
    """ Node that opens a Consume scope.
        @see: Consume
    """
    def __init__(self, consume, dynamic_inputs=None):
        super(ConsumeEntry, self).__init__(dynamic_inputs or set())
        if consume is None:
            raise ValueError("Consume for ConsumeEntry can not be None.")
        self._consume = consume
        self.add_in_connector('IN_stream')