diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-01 17:04:37 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-01 17:04:37 -0800 |
commit | 2a4088119cf41175457414dfa59bd4064b8f0562 (patch) | |
tree | 64fe184e399f9870ebd481a90eec34d51e5dff68 /archive/1.vm/067random.cc | |
parent | 23fd294d85959c6b476bcdc35ed6ad508cc99b8f (diff) | |
download | mu-2a4088119cf41175457414dfa59bd4064b8f0562.tar.gz |
5852
Diffstat (limited to 'archive/1.vm/067random.cc')
-rw-r--r-- | archive/1.vm/067random.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/archive/1.vm/067random.cc b/archive/1.vm/067random.cc new file mode 100644 index 00000000..d80adb4d --- /dev/null +++ b/archive/1.vm/067random.cc @@ -0,0 +1,34 @@ +:(before "End Primitive Recipe Declarations") +REAL_RANDOM, +:(before "End Primitive Recipe Numbers") +put(Recipe_ordinal, "real-random", REAL_RANDOM); +:(before "End Primitive Recipe Checks") +case REAL_RANDOM: { + break; +} +:(before "End Primitive Recipe Implementations") +case REAL_RANDOM: { + // todo: limited range of numbers, might be imperfectly random + // todo: thread state in extra ingredients and products + products.resize(1); + products.at(0).push_back(rand()); + break; +} + +:(before "End Primitive Recipe Declarations") +MAKE_RANDOM_NONDETERMINISTIC, +:(before "End Primitive Recipe Numbers") +put(Recipe_ordinal, "make-random-nondeterministic", MAKE_RANDOM_NONDETERMINISTIC); +:(before "End Primitive Recipe Checks") +case MAKE_RANDOM_NONDETERMINISTIC: { + break; +} +:(before "End Primitive Recipe Implementations") +case MAKE_RANDOM_NONDETERMINISTIC: { + srand(time(NULL)); + break; +} + +// undo non-determinism in later tests +:(before "End Reset") +srand(0); |