Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/stdlib/rand_r.c')
-rw-r--r--newlib/libc/stdlib/rand_r.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/newlib/libc/stdlib/rand_r.c b/newlib/libc/stdlib/rand_r.c
deleted file mode 100644
index 437739ef5..000000000
--- a/newlib/libc/stdlib/rand_r.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <stdlib.h>
-
-/* Pseudo-random generator based on Minimal Standard by
- Lewis, Goodman, and Miller in 1969.
-
- I[j+1] = a*I[j] (mod m)
-
- where a = 16807
- m = 2147483647
-
- Using Schrage's algorithm, a*I[j] (mod m) can be rewritten as:
-
- a*(I[j] mod q) - r*{I[j]/q} if >= 0
- a*(I[j] mod q) - r*{I[j]/q} + m otherwise
-
- where: {} denotes integer division
- q = {m/a} = 127773
- r = m (mod a) = 2836
-
- note that the seed value of 0 cannot be used in the calculation as
- it results in 0 itself
-*/
-
-int
-_DEFUN (rand_r, (seed), unsigned int *seed)
-{
- long k;
- long s = (long)(*seed);
- if (s == 0)
- s = 0x12345987;
- k = s / 127773;
- s = 16807 * (s - k * 127773) - 2836 * k;
- if (s < 0)
- s += 2147483647;
- (*seed) = (unsigned int)s;
- return (int)(s & RAND_MAX);
-}