From 7b5d006cc38fd65b60632506bb321b96b4804559 Mon Sep 17 00:00:00 2001 From: Daniel Cerqueira Date: Fri, 4 Jul 2025 16:45:45 +0100 Subject: make (random n) function range from 0 until n. --- README.md | 6 +++--- liblali.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bfaad4c..ad84609 100644 --- a/README.md +++ b/README.md @@ -65,11 +65,11 @@ operations `<`, `>`: #### Random number operation -`(random [number])` takes no or one number argument, returns a random number below -`number` until 0. +`(random [number])` takes no or one number argument, returns a random number from +0 until `number`. (random) ; +747528572 - (random +2) ; returns +0 or +1 + (random +1) ; returns +0 or +1 ### Processing operations diff --git a/liblali.c b/liblali.c index 82c900c..b54aeb8 100644 --- a/liblali.c +++ b/liblali.c @@ -956,7 +956,7 @@ Object *primitiveRandom(Object **args, GC_PARAM) { if (*args == nil) sprintf(string, "+%ld", nrandom); else - sprintf(string, "+%ld", nrandom % atol((*args)->car->string)); + sprintf(string, "+%ld", nrandom % (atol((*args)->car->string) + 1)); return newNumber(string, GC_ROOTS); } -- cgit