]> mj.ucw.cz Git - libucw.git/blobdiff - lib/random.c
Unfortunately, libraries with public API need an extra rule for their .pc.
[libucw.git] / lib / random.c
index 87f7f544b5e95f47918e486610679c91a3a58c22..a771c97ae624a2dd83bda57c95c062e316b77108 100644 (file)
 /* We expect the random generator in libc to give at least 30 bits of randomness */
 COMPILE_ASSERT(RAND_MAX_RANGE_TEST, RAND_MAX >= (1 << 30)-1);
 
+uns
+random_u32(void)
+{
+  return (random() & 0xffff) | ((random() & 0xffff) << 16);
+}
+
 uns
 random_max(uns max)
 {
   uns r, l;
 
+  ASSERT(max <= (1 << 30));
   l = (RAND_MAX + 1U) - ((RAND_MAX + 1U) % max);
   do
     r = random();