def random_index_subspace(task_name, depth, start, end, settings): sub_start = randint(start, end) sub_end = randint(sub_start, end) name = next_name('index_subspace') if should_stop(depth, settings): partitions = [] else: partitions = random_index_partitions(task_name, depth+1, sub_start, sub_end, settings) return IndexSubspace(name, task_name, sub_start, sub_end, partitions)
def random_index_tree(task_name, settings): start = randint(settings.ind_min, settings.ind_max) end = randint(start, settings.ind_max) name = next_name('index_space') if should_stop(0, settings): partitions = [] else: partitions = random_index_partitions(task_name, 0, start, end, settings) return IndexSpace(name, task_name, start, end, partitions)
def pick_random_region(regions, settings): next_region = regions[randint(0, len(regions) - 1)] # next_region.should_print() if should_stop(0, settings) or next_region.partitions == []: return next_region next_partition = next_region.partitions[randint(0, len(next_region.partitions) - 1)] # next_partition.should_print() next_regions = next_partition.subspaces return pick_random_region(next_regions, settings)