libc/rand(3) & random(3): Throw out USE_WEAK_SEEDING, which we don't use.
authorSascha Wildner <saw@online.de>
Fri, 21 Feb 2014 19:49:48 +0000 (20:49 +0100)
committerSascha Wildner <saw@online.de>
Fri, 21 Feb 2014 19:49:48 +0000 (20:49 +0100)
lib/libc/stdlib/rand.c
lib/libc/stdlib/random.c

index 374d267..aaf73d4 100644 (file)
@@ -30,7 +30,6 @@
  *
  * @(#)rand.c  8.1 (Berkeley) 6/14/93
  * $FreeBSD: src/lib/libc/stdlib/rand.c,v 1.17 2007/12/11 20:39:32 ache Exp $
- * $DragonFly: src/lib/libc/stdlib/rand.c,v 1.6 2005/11/20 14:58:40 swildner Exp $
  */
 
 #include "namespace.h"
 #include <stdio.h>
 #endif /* TEST */
 
-static int
-do_rand(unsigned long *ctx)
-{
-#ifdef  USE_WEAK_SEEDING
-/*
- * Historic implementation compatibility.
- * The random sequences do not vary much with the seed,
- * even with overflowing.
- */
-       return ((*ctx = *ctx * 1103515245 + 12345) % ((u_long)RAND_MAX + 1));
-#else   /* !USE_WEAK_SEEDING */
 /*
  * Compute x = (7^5 * x) mod (2^31 - 1)
  * without overflowing 31 bits:
@@ -64,6 +52,9 @@ do_rand(unsigned long *ctx)
  * Park and Miller, Communications of the ACM, vol. 31, no. 10,
  * October 1988, p. 1195.
  */
+static int
+do_rand(unsigned long *ctx)
+{
        long hi, lo, x;
 
        /* Can't be initialized with 0, so use another value. */
@@ -75,7 +66,6 @@ do_rand(unsigned long *ctx)
        if (x < 0)
                x += 0x7fffffff;
        return ((*ctx = x) % ((u_long)RAND_MAX + 1));
-#endif  /* !USE_WEAK_SEEDING */
 }
 
 
index 96a2583..540398a 100644 (file)
@@ -28,7 +28,6 @@
  *
  * @(#)random.c        8.2 (Berkeley) 5/19/95
  * $FreeBSD: src/lib/libc/stdlib/random.c,v 1.25 2007/01/09 00:28:10 imp Exp $
- * $DragonFly: src/lib/libc/stdlib/random.c,v 1.9 2005/11/24 17:18:30 swildner Exp $
  */
 
 #include "namespace.h"
  * Array versions of the above information to make code run faster --
  * relies on fact that TYPE_i == i.
  */
-#define        MAX_TYPES       5               /* max number of types above */
-
-#ifdef  USE_WEAK_SEEDING
-#define NSHUFF 0
-#else   /* !USE_WEAK_SEEDING */
-#define NSHUFF 50       /* to drop some "seed -> 1st value" linearity */
-#endif  /* !USE_WEAK_SEEDING */
+#define        MAX_TYPES       5       /* max number of types above */
+#define        NSHUFF          50      /* to drop some "seed -> 1st value" linearity */
 
 static const int degrees[MAX_TYPES] =  { DEG_0, DEG_1, DEG_2, DEG_3, DEG_4 };
 static const int seps [MAX_TYPES] =    { SEP_0, SEP_1, SEP_2, SEP_3, SEP_4 };
@@ -163,23 +157,12 @@ static const int seps [MAX_TYPES] =       { SEP_0, SEP_1, SEP_2, SEP_3, SEP_4 };
 
 static uint32_t randtbl[DEG_3 + 1] = {
        TYPE_3,
-#ifdef  USE_WEAK_SEEDING
-/* Historic implementation compatibility */
-/* The random sequences do not vary much with the seed */
-       0x9a319039, 0x32d9c024, 0x9b663182, 0x5da1f342, 0xde3b81e0, 0xdf0a6fb5,
-       0xf103bc02, 0x48f340fb, 0x7449e56b, 0xbeb1dbb0, 0xab5c5918, 0x946554fd,
-       0x8c2e680f, 0xeb3d799f, 0xb11ee0b7, 0x2d436b86, 0xda672e2a, 0x1588ca88,
-       0xe369735d, 0x904f35f7, 0xd7158fd6, 0x6fa6f051, 0x616e6b96, 0xac94efdc,
-       0x36413f93, 0xc622c298, 0xf5a42ab8, 0x8a88d77b, 0xf5ad9d0e, 0x8999220b,
-       0x27fb47b9,
-#else   /* !USE_WEAK_SEEDING */
        0x991539b1, 0x16a5bce3, 0x6774a4cd, 0x3e01511e, 0x4e508aaa, 0x61048c05,
        0xf5500617, 0x846b7115, 0x6a19892c, 0x896a97af, 0xdb48f936, 0x14898454,
        0x37ffd106, 0xb58bff9c, 0x59e17104, 0xcf918a49, 0x09378c83, 0x52c7a471,
        0x8d293ea9, 0x1f4fc301, 0xc3db71be, 0x39b44e1c, 0xf8a44ef9, 0x4c8b80b1,
        0x19edc328, 0x87bf4bdd, 0xc9b240e5, 0xe9ee4b1b, 0x4382aee7, 0x535b6b41,
        0xf3bec5da
-#endif  /* !USE_WEAK_SEEDING */
 };
 
 /*
@@ -217,17 +200,6 @@ static uint32_t *end_ptr = &randtbl[DEG_3 + 1];
 
 static inline uint32_t good_rand(int32_t);
 
-static inline uint32_t
-good_rand(int32_t x)
-{
-#ifdef  USE_WEAK_SEEDING
-/*
- * Historic implementation compatibility.
- * The random sequences do not vary much with the seed,
- * even with overflowing.
- */
-       return (1103515245 * x + 12345);
-#else   /* !USE_WEAK_SEEDING */
 /*
  * Compute x = (7^5 * x) mod (2^31 - 1)
  * wihout overflowing 31 bits:
@@ -236,6 +208,9 @@ good_rand(int32_t x)
  * Park and Miller, Communications of the ACM, vol. 31, no. 10,
  * October 1988, p. 1195.
  */
+static inline uint32_t
+good_rand(int32_t x)
+{
        int32_t hi, lo;
 
        /* Can't be initialized with 0, so use another value. */
@@ -247,7 +222,6 @@ good_rand(int32_t x)
        if (x < 0)
                x += 0x7fffffff;
        return (x);
-#endif  /* !USE_WEAK_SEEDING */
 }
 
 /*