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