From 40ed13f16d3ac8a6c5b7b6777bd9d9d291aab70c Mon Sep 17 00:00:00 2001 From: Martin Bauer <martin.bauer@fau.de> Date: Wed, 27 Feb 2019 12:29:32 +0100 Subject: [PATCH] Generator for random symbols --- random.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/random.py b/random.py index bb3f7e29d..7e84e23f0 100644 --- a/random.py +++ b/random.py @@ -109,3 +109,14 @@ class PhiloxFourFloats(CustomCodeNode): def __repr__(self): return "{}, {}, {}, {} <- PhiloxRNG".format(*self.result_symbols) + + +def random_symbol(assignment_list, rng_node=PhiloxTwoDoubles, *args, **kwargs): + while True: + node = rng_node(*args, **kwargs) + inserted = False + for symbol in node.result_symbols: + if not inserted: + assignment_list.insert(0, node) + inserted = True + yield symbol -- GitLab