#! /usr/bin/env python # -*- coding: utf-8 -*- # vim:fenc=utf-8 # # Copyright © 2017 lafrite # # Distributed under terms of the MIT license. """ Tools to extract random nodes, random variables, generate random values and fill new trees Flow ---- Tree with RdLeaf | | Extract nodes | List of nodes to generate | | extract_rv | List random variables to generate | | Generate | Dictionnary of generated random variables | | Compute nodes | Dictionnary of computed nodes | | Replace | Tree with RdLeaf replaced by generated values """ def extract_rv(node_list): """ Extract the set of random values from the node list :param node_list: list of nodes :return: set of random values :example: >>> node_list = ["{a}", "{a*k}"] >>> extract_rv(node_list) {"a", "k"} """ pass def compute_nodes(node_list, generated_values): """ Compute nodes from generated random values :param generated_values: Dictionnary of name:generated value :param node_list: list of nodes :return: Dictionnary of evaluated nodes from generated values :example: >>> node_list = ["{a}", "{a*k}"] >>> generated_values = {"a":2, "k":3} >>> compute_nodes(node_list, generated_values) {"{a}": 2, "{a*k}": 6} """ pass