diff --git a/source/cell.c b/source/cell.c index b4ef3fa4..efad24ef 100644 --- a/source/cell.c +++ b/source/cell.c @@ -1049,4 +1049,10 @@ int JS_ArrayLength(JSContext *js, JSValue a) JS_ToInt32(js,&len,length); JS_FreeValue(js,length); return len; +} + +int cell_random() { + uint8_t buf[4]; + randombytes(buf, sizeof(buf)); + return *(int32_t *)buf; } \ No newline at end of file diff --git a/source/cell.h b/source/cell.h index 83537757..8adea926 100644 --- a/source/cell.h +++ b/source/cell.h @@ -101,6 +101,9 @@ cell_rt *get_actor(char *id); void set_actor_state(cell_rt *actor); void actor_clock(cell_rt *actor, JSValue fn); +int randombytes(void *buf, size_t n); +int cell_random(); + int JS_ArrayLength(JSContext *js, JSValue a); int js2bool(JSContext *js, JSValue v); @@ -108,8 +111,6 @@ JSValue bool2js(JSContext *js, int b); double js2number(JSContext *js, JSValue v); JSValue number2js(JSContext *js, double g); -double cell_random(); - void *js2wota(JSContext *js, JSValue v); JSValue wota2js(JSContext *js, void *v);