当前位置: 首页>>代码示例>>Python>>正文


Python Writer.set_repeat_indices方法代码示例

本文整理汇总了Python中writer.Writer.set_repeat_indices方法的典型用法代码示例。如果您正苦于以下问题:Python Writer.set_repeat_indices方法的具体用法?Python Writer.set_repeat_indices怎么用?Python Writer.set_repeat_indices使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在writer.Writer的用法示例。


在下文中一共展示了Writer.set_repeat_indices方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: CountertraceFinder

# 需要导入模块: from writer import Writer [as 别名]
# 或者: from writer.Writer import set_repeat_indices [as 别名]

#.........这里部分代码省略.........
            # the new current_set_of_states is the set of next states (if
            # concrete_next_input is used as input):
            state_plus_input_ix_jx *= concrete_next_input
            next_states = state_plus_input_ix_jx * utils.sys_trans
            next_states = utils.swap_present_next(next_states)
            current_set_of_states = utils.keep_only_present(next_states)


        # If we are here, we found an input for every time step.
        repeat_index = self.get_index_of_superset_in_list(list_of_sets, \
                                                     current_set_of_states) + 1
        trace = InfiniteTraceOfBdds(utils, countertrace, repeat_index)

        return trace
        
    def print_trace(self, countertrace):
        """
        Prints a countertrace into the file
        ./spec_debug_results/countertrace.txt.

        @param countertrace: A sequence of inputs so that the system is forced
               to violate its specification.
        @type countertrace: L{InfiniteTraceOfBdds}
        """

        # write the inputs according to the countertrace:
        for input_bdd in countertrace.get_trace():
            for var in self.__utils.input_vars:
                symb = self.__utils.get_val_as_string(input_bdd, var, False)
                self.__writer.set_chosen_input(var.name, symb)
            self.__writer.start_next_time_step()

        # finally we define where the trace repeats:
        self.__writer.set_repeat_indices(countertrace.repeat_index, \
                                     countertrace.length_stem_plus_loop - 1)

        # and write the file:
        self.__writer.write_to_file("./spec_debug_results/countertrace.txt")
        self.__writer.clear()

    def is_graph_system_independent(self, graph_nodes):
        """
        Checks if the inputs in a graph are system independent.

        This method checks if the inputs in the graph computed by the class
        L{PathFinder} are system independent. If this is the case, a
        countertrace can be read directly from this graph. If the graph was
        generated from a countertrace, the inputs in this graph will always
        be system independent (i.e., independent of the moves of the system).

        This method is only used to check if the methods compute_countertrace
        and make_strategy_system_independent work correctly.

        @param graph_nodes: A set of graph nodes.
        @type graph_nodes: list<L{GraphNode}>
        @return: True if the graph is system independent, False otherwise
        @rtype: bool
        """

        # The first current state is the initial state:
        current_nodes = [graph_nodes[0]]
        current_nodes_bdd = graph_nodes[0].bdd
        list_of_sets = []
        while list_of_sets.count(current_nodes_bdd) == 0:
            list_of_sets.append(current_nodes_bdd)
开发者ID:johnyf,项目名称:marduk,代码行数:69,代码来源:countertrace_finder.py


注:本文中的writer.Writer.set_repeat_indices方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。