mu/067random.cc

35 lines
960 B
C++
Raw Normal View History

2015-05-23 21:39:10 +00:00
:(before "End Primitive Recipe Declarations")
REAL_RANDOM,
2015-05-23 21:39:10 +00:00
:(before "End Primitive Recipe Numbers")
put(Recipe_ordinal, "real-random", REAL_RANDOM);
2015-10-02 00:30:14 +00:00
:(before "End Primitive Recipe Checks")
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")
case REAL_RANDOM: {
// todo: limited range of numbers, might be imperfectly random
// 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")
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);