-package org.simantics.scl.runtime.procedure;\r
-\r
-import java.util.Random;\r
-\r
-import org.simantics.scl.runtime.SCLContext;\r
-import org.simantics.scl.runtime.function.Function;\r
-import org.simantics.scl.runtime.tuple.Tuple0;\r
-\r
-public class RandomEffect {\r
- public static final String RANDOM = "random";\r
- \r
- public static Object withSeed(long seed, Function fun) {\r
- SCLContext context = SCLContext.getCurrent();\r
- Random oldRandom = (Random)context.put(RANDOM, new Random(seed));\r
- try {\r
- return fun.apply(Tuple0.INSTANCE);\r
- } finally {\r
- context.put(RANDOM, oldRandom);\r
- }\r
- }\r
- \r
- public static Object runRandom(Function fun) {\r
- SCLContext context = SCLContext.getCurrent();\r
- Random oldRandom = (Random)context.put(RANDOM, new Random());\r
- try {\r
- return fun.apply(Tuple0.INSTANCE);\r
- } finally {\r
- context.put(RANDOM, oldRandom);\r
- }\r
- }\r
-}\r
+package org.simantics.scl.runtime.procedure;
+
+import java.util.Random;
+
+import org.simantics.scl.runtime.SCLContext;
+import org.simantics.scl.runtime.function.Function;
+import org.simantics.scl.runtime.tuple.Tuple0;
+
+public class RandomEffect {
+ public static final String RANDOM = "random";
+
+ public static Object withSeed(long seed, Function fun) {
+ SCLContext context = SCLContext.getCurrent();
+ Random oldRandom = (Random)context.put(RANDOM, new Random(seed));
+ try {
+ return fun.apply(Tuple0.INSTANCE);
+ } finally {
+ context.put(RANDOM, oldRandom);
+ }
+ }
+
+ public static Object runRandom(Function fun) {
+ SCLContext context = SCLContext.getCurrent();
+ Random oldRandom = (Random)context.put(RANDOM, new Random());
+ try {
+ return fun.apply(Tuple0.INSTANCE);
+ } finally {
+ context.put(RANDOM, oldRandom);
+ }
+ }
+}