annotate main.c @ 0:9ee92e7a1cb5 default tip

*: initial commit this is a very simple, bare-bones randomness API. if the system can't provide it, so be it -- init will fail.
author Paper <paper@tflc.us>
date Tue, 10 Jun 2025 16:18:50 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
1 #include <stdio.h>
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
2 #include <stdint.h>
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
3 #include <inttypes.h>
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
4 #include <time.h>
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
5
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
6 #include "librandom.h"
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
7
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
8 int main(void)
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
9 {
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
10 clock_t start, end;
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
11 int i;
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
12 uint32_t x;
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
13 struct random r;
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
14
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
15 random_init(&r);
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
16
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
17 start = clock();
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
18
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
19 for (i = 0; i < 1000000; i++)
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
20 random_read(&r, &x, sizeof(x));
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
21
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
22 end = clock();
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
23
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
24 printf("%f\n", (double)(end - start) / CLOCKS_PER_SEC);
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
25
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
26 random_close(&r);
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
27
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
28 return 0;
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
29 }