summaryrefslogtreecommitdiff
path: root/jrk.h
diff options
context:
space:
mode:
authorJake Koroman <jake@jakekoroman.com>2025-07-22 12:41:03 -0400
committerJake Koroman <jake@jakekoroman.com>2025-07-22 12:41:03 -0400
commit0acfb962eb575ae5ecd24e8e88865510b18e5b34 (patch)
tree079d4fedcd9d28052649ff9dd0436eabfd919ea6 /jrk.h
parent5447266dfb6bc5ad7dcc8a668f4eb78b211eeee5 (diff)
add jrk_rand_num and jrk_rand_num_range.
Diffstat (limited to 'jrk.h')
-rw-r--r--jrk.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/jrk.h b/jrk.h
index 963c671..6606b7e 100644
--- a/jrk.h
+++ b/jrk.h
@@ -84,12 +84,14 @@ void jrk_arena_expand(jrk_arena*, u64);
#define strputn jrk_strputn
#define string_from_parts jrk_string_from_parts
+#define rand_num jrk_rand_num
+#define rand_num_range jrk_rand_num_range
#endif // JRK_SHORTNAMES
#ifdef JRK_IMPLEMENTATION
+#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
-#include <errno.h>
#define jrk_die(x) do { fprintf(stderr, "%s:%d: error: "x"\n", __FILE__, __LINE__); exit(69); } while(0)
#define jrk_edie(x) do { fprintf(stderr, "%s:%d: error: "x": %s\n", __FILE__, __LINE__, strerror(errno)); exit(69); } while(0)
@@ -193,4 +195,16 @@ jrk_strputn(jrk_string string, u64 n)
printf("%*.*s\n", (int) n, (int) n, string.data);
}
+static inline i32
+jrk_rand_num(i32 upbound)
+{
+ return rand() % upbound + 1;
+}
+
+static inline i32
+jrk_rand_num_range(i32 min, i32 max)
+{
+ return rand() % (max - min + 1) + min;
+}
+
#endif // JRK_IMPLEMENTATION