本文整理汇总了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)