#include #include #define NRAND_NUMBERS 12 #define NRAND_BYTES 128 #define NRAND_DOUBLES 8 int main(void) { b_random_ctx random; b_random_init(&random, B_RANDOM_SECURE | B_RANDOM_MT19937); printf("generating %d random numbers:\n", NRAND_NUMBERS); for (int i = 0; i < NRAND_NUMBERS; i++) { unsigned long long v = b_random_next_int64(&random); printf(" %llu\n", v); } printf("\ngenerating %d random bytes:", NRAND_BYTES); unsigned char bytes[16]; for (int i = 0; i < NRAND_BYTES; i++) { if (i == 0 || (i % 16) == 0) { printf("\n "); b_random_next_bytes(&random, bytes, sizeof bytes); } else if ((i % 4) == 0) { printf(" "); } printf("%02x", bytes[i % 16]); } printf("\n\ngenerating %d random doubles:\n", NRAND_DOUBLES); for (int i = 0; i < NRAND_DOUBLES; i++) { double v = b_random_next_double(&random); printf(" %lf\n", v); } return 0; }