Merge branch 'FT_random' of git_opytex:/lafrite/Mapytex into FT_random
This commit is contained in:
		| @@ -97,7 +97,7 @@ class Expression(object): | ||||
|         :example: | ||||
|         >>> Expression.random("{a}/{a*k}") # doctest: +SKIP | ||||
|         <Exp: -3 / -15> | ||||
|         >>> Expression.random("{a}/{a*k} - 3*{b}", variables_scope={'a':{'min_max':(10, 30)}}) # doctest +SKIP | ||||
|         >>> Expression.random("{a}/{a*k} - 3*{b}", variables_scope={'a':{'min_max':(10, 30)}}) # doctest: +SKIP | ||||
|         <Exp: 18 / 108 - 3 * 9> | ||||
|  | ||||
|         """ | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| # Distributed under terms of the MIT license. | ||||
|  | ||||
| """ | ||||
| Tools to extract random nodes, random variables, generate random values and | ||||
| Tools to extract random leafs, random variables, generate random values and | ||||
| fill new trees | ||||
|  | ||||
| Flow | ||||
| @@ -15,9 +15,9 @@ Flow | ||||
|  | ||||
| Tree with RdLeaf | ||||
| | | ||||
| | Extract nodes | ||||
| | Extract rdLeaf | ||||
| | | ||||
| List of nodes to generate | ||||
| List of leafs to generate | ||||
| | | ||||
| | extract_rv | ||||
| | | ||||
| @@ -27,9 +27,9 @@ List random variables to generate | ||||
| | | ||||
| Dictionnary of generated random variables | ||||
| | | ||||
| | Compute nodes | ||||
| | Compute leafs | ||||
| | | ||||
| Dictionnary of computed nodes | ||||
| Dictionnary of computed leafs | ||||
| | | ||||
| | Replace | ||||
| | | ||||
|   | ||||
| @@ -836,6 +836,31 @@ def rdstr2(sink): | ||||
|     return pipeline | ||||
|  | ||||
|  | ||||
| def rdstr2(sink): | ||||
|     """ Return a pipeline which parse random expression and with sink as endpoint | ||||
|  | ||||
|     :example: | ||||
|     >>> rdstr2list = rdstr2(list_sink) | ||||
|     >>> rdstr2list("{a}+{a*b}-2") | ||||
|     [<RdLeaf a>, '+', <RdLeaf a*b>, '+', <MOnumber - 2>] | ||||
|     """ | ||||
|     lfop = lookfor(is_operator) | ||||
|     operator_corout = partial(concurent_broadcast, lookfors=[lfop]) | ||||
|  | ||||
|     def pipeline(expression): | ||||
|         str2_corout = look_for_rdleaf( | ||||
|             lookforNumbers(operator_corout(missing_times(moify_cor(pparser(sink))))) | ||||
|         ) | ||||
|  | ||||
|         for i in expression.replace(" ", ""): | ||||
|             str2_corout.send(i) | ||||
|         a = str2_corout.throw(STOOOP) | ||||
|  | ||||
|         return a | ||||
|  | ||||
|     return pipeline | ||||
|  | ||||
|  | ||||
| str2nestedlist = str2(list_sink) | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user