2015-05-23 21:39:10 +00:00
|
|
|
:(before "End Primitive Recipe Declarations")
|
2016-07-28 05:46:56 +00:00
|
|
|
REAL_RANDOM,
|
2015-05-23 21:39:10 +00:00
|
|
|
:(before "End Primitive Recipe Numbers")
|
2016-07-28 05:46:56 +00:00
|
|
|
put(Recipe_ordinal, "real-random", REAL_RANDOM);
|
2015-10-02 00:30:14 +00:00
|
|
|
:(before "End Primitive Recipe Checks")
|
2016-07-28 05:46:56 +00:00
|
|
|
case REAL_RANDOM: {
|
2015-10-02 00:30:14 +00:00
|
|
|
break;
|
|
|
|
}
|
2015-05-23 21:39:10 +00:00
|
|
|
:(before "End Primitive Recipe Implementations")
|
2016-07-28 05:46:56 +00:00
|
|
|
case REAL_RANDOM: {
|
2015-05-23 21:58:14 +00:00
|
|
|
// todo: limited range of numbers, might be imperfectly random
|
2015-07-14 03:50:25 +00:00
|
|
|
// todo: thread state in extra ingredients and products
|
2015-05-23 21:39:10 +00:00
|
|
|
products.resize(1);
|
|
|
|
products.at(0).push_back(rand());
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
:(before "End Primitive Recipe Declarations")
|
|
|
|
MAKE_RANDOM_NONDETERMINISTIC,
|
|
|
|
:(before "End Primitive Recipe Numbers")
|
2015-11-06 19:06:58 +00:00
|
|
|
put(Recipe_ordinal, "make-random-nondeterministic", MAKE_RANDOM_NONDETERMINISTIC);
|
2015-10-02 00:30:14 +00:00
|
|
|
:(before "End Primitive Recipe Checks")
|
|
|
|
case MAKE_RANDOM_NONDETERMINISTIC: {
|
|
|
|
break;
|
|
|
|
}
|
2015-05-23 21:39:10 +00:00
|
|
|
:(before "End Primitive Recipe Implementations")
|
|
|
|
case MAKE_RANDOM_NONDETERMINISTIC: {
|
|
|
|
srand(time(NULL));
|
|
|
|
break;
|
|
|
|
}
|
2016-10-21 06:07:34 +00:00
|
|
|
|
|
|
|
// undo non-determinism in later tests
|
2017-07-09 21:34:17 +00:00
|
|
|
:(before "End Reset")
|
2016-10-21 06:07:34 +00:00
|
|
|
srand(0);
|