Files
bluelib/core-test/randomise.c
2024-10-24 21:33:19 +01:00

40 lines
920 B
C

#include <blue/core/random.h>
#include <printf.h>
#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;
}