diff options
| author | Jake Koroman <jake@jakekoroman.com> | 2025-07-22 12:41:03 -0400 |
|---|---|---|
| committer | Jake Koroman <jake@jakekoroman.com> | 2025-07-22 12:41:03 -0400 |
| commit | 0acfb962eb575ae5ecd24e8e88865510b18e5b34 (patch) | |
| tree | 079d4fedcd9d28052649ff9dd0436eabfd919ea6 /jrk.h | |
| parent | 5447266dfb6bc5ad7dcc8a668f4eb78b211eeee5 (diff) | |
add jrk_rand_num and jrk_rand_num_range.
Diffstat (limited to 'jrk.h')
| -rw-r--r-- | jrk.h | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -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 |
