1 /* 2 * Copyright (c) 1993 Martin Birgmeier 3 * All rights reserved. 4 * 5 * You may redistribute unmodified or modified versions of this source 6 * code provided that the above copyright notice and this and the 7 * following conditions are retained. 8 * 9 * This software is provided ``as is'', and comes with no warranties 10 * of any kind. I shall in no event be liable for anything that happens 11 * to anyone/anything when using this software. 12 */ 13 14 #ifndef _RAND48_H_ 15 #define _RAND48_H_ 16 17 #include <math.h> 18 #include <stdlib.h> 19 20 /* 21 * rand48 family support 22 * 23 * Copyright (c) 1993 Martin Birgmeier 24 * All rights reserved. 25 * 26 * You may redistribute unmodified or modified versions of this source 27 * code provided that the above copyright notice and this and the 28 * following conditions are retained. 29 * 30 * This software is provided ``as is'', and comes with no warranties 31 * of any kind. I shall in no event be liable for anything that happens 32 * to anyone/anything when using this software. 33 */ 34 35 #define _RAND48_SEED_0 (0x330e) 36 #define _RAND48_SEED_1 (0xabcd) 37 #define _RAND48_SEED_2 (0x1234) 38 #define _RAND48_MULT_0 (0xe66d) 39 #define _RAND48_MULT_1 (0xdeec) 40 #define _RAND48_MULT_2 (0x0005) 41 #define _RAND48_ADD (0x000b) 42 43 struct _rand48 { 44 unsigned short _seed[3]; 45 unsigned short _mult[3]; 46 unsigned short _add; 47 }; 48 49 extern NEWLIB_THREAD_LOCAL struct _rand48 _rand48; 50 51 extern void __dorand48 (struct _rand48 *r, unsigned short[3]); 52 53 #endif /* _RAND48_H_ */ 54