#include "random.h" #include #include void random___init__(PikaObj *self){ srand(time(NULL)); } int random_randint(PikaObj *self, int a, int b){ return rand() % (b - a + 1) + a; } double random_random(PikaObj *self){ return rand() / (double)RAND_MAX; } int random_randrange(PikaObj *self, int start, int stop, int step){ if (step == 0) { return random_randint(self, start, stop); } int n = (stop - start + step) / step; int r = random_randint(self, 0, n - 1); return start + r * step; } PikaObj* random_seed(PikaObj *self, int a){ srand(a); return NULL; } double random_uniform(PikaObj *self, double a, double b){ return (b - a) * random_random(self) + a; }