diff options
author | olpc user <olpc@xo-5d-f7-86.localdomain> | 2019-12-26 16:34:28 -0800 |
---|---|---|
committer | olpc user <olpc@xo-5d-f7-86.localdomain> | 2019-12-26 16:34:28 -0800 |
commit | 94ed7bbaa739995a9815b5f1c916d9e24575368c (patch) | |
tree | 587c4f268721cf156aab92c60aae4ec530c7ce17 /starts/meaning-vm/level-2/sugar.cpp | |
parent | fe2a9b21e655041ef14e34c94509c6974f294866 (diff) | |
download | standingwithresilience-94ed7bbaa739995a9815b5f1c916d9e24575368c.tar.gz standingwithresilience-94ed7bbaa739995a9815b5f1c916d9e24575368c.zip |
level2 compiles, nothing visible yet
Diffstat (limited to 'starts/meaning-vm/level-2/sugar.cpp')
-rw-r--r-- | starts/meaning-vm/level-2/sugar.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/starts/meaning-vm/level-2/sugar.cpp b/starts/meaning-vm/level-2/sugar.cpp new file mode 100644 index 0000000..2a86cca --- /dev/null +++ b/starts/meaning-vm/level-2/sugar.cpp @@ -0,0 +1,32 @@ +#include "sugar.hpp" + +#include <stdlib.h> // int rand(); void srand(int seed); +#include <time.h> // int time(0); int clock_gettime(CLOCK_REALTIME, struct timespec *tp{tv_sec,tv_nsec}) +#include <unistd.h> // usleep(unsigned int usecs) + +namespace intellect { +namespace level2 { +namespace sugar { + +double rand(double min, double max) +{ + // seed random number generator statically, for habit delay + static struct timespec tp; + static int seed = ( + clock_gettime(CLOCK_REALTIME, &tp), + srand(tp.tv_nsec), + tp.tv_nsec + ); + (void)(seed); + + return double(::rand()) / RAND_MAX * (max - min) + min; +} + +void usleep(unsigned int usecs) +{ + ::usleep(usecs); +} + +} +} +} |