diff options
Diffstat (limited to 'mdk-stage1/dietlibc/lib/rand_r.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/rand_r.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/mdk-stage1/dietlibc/lib/rand_r.c b/mdk-stage1/dietlibc/lib/rand_r.c deleted file mode 100644 index 55f8303bc..000000000 --- a/mdk-stage1/dietlibc/lib/rand_r.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 2002 Luc Van Oostenryck - - This is free software. You can redistribute and - modify it under the terms of the GNU General Public - Public License. -*/ - -#include <stdlib.h> -#include <stdint.h> - -/* Knuth's TAOCP section 3.6 */ -#define M ((1U<<31) -1) -#define A 48271 -#define Q 44488 // M/A -#define R 3399 // M%A; R < Q !!! - -// FIXME: ISO C/SuS want a longer period - -int rand_r(unsigned int* seed) -{ int32_t X; - - X = *seed; - X = A*(X%Q) - R * (int32_t) (X/Q); - if (X < 0) - X += M; - - *seed = X; - return X; -} |