xref: /minix3/lib/libc/stdlib/mrand48.c (revision 84d9c625bfea59e274550651111ae9edfdc40fbd)
1*84d9c625SLionel Sambuc /*	$NetBSD: mrand48.c,v 1.8 2013/10/22 08:08:51 matt Exp $	*/
22fe8fb19SBen Gras 
32fe8fb19SBen Gras /*
42fe8fb19SBen Gras  * Copyright (c) 1993 Martin Birgmeier
52fe8fb19SBen Gras  * All rights reserved.
62fe8fb19SBen Gras  *
72fe8fb19SBen Gras  * You may redistribute unmodified or modified versions of this source
82fe8fb19SBen Gras  * code provided that the above copyright notice and this and the
92fe8fb19SBen Gras  * following conditions are retained.
102fe8fb19SBen Gras  *
112fe8fb19SBen Gras  * This software is provided ``as is'', and comes with no warranties
122fe8fb19SBen Gras  * of any kind. I shall in no event be liable for anything that happens
132fe8fb19SBen Gras  * to anyone/anything when using this software.
142fe8fb19SBen Gras  */
152fe8fb19SBen Gras 
162fe8fb19SBen Gras #include <sys/cdefs.h>
172fe8fb19SBen Gras #if defined(LIBC_SCCS) && !defined(lint)
18*84d9c625SLionel Sambuc __RCSID("$NetBSD: mrand48.c,v 1.8 2013/10/22 08:08:51 matt Exp $");
192fe8fb19SBen Gras #endif /* LIBC_SCCS and not lint */
202fe8fb19SBen Gras 
212fe8fb19SBen Gras #include "namespace.h"
222fe8fb19SBen Gras #include "rand48.h"
232fe8fb19SBen Gras 
242fe8fb19SBen Gras #ifdef __weak_alias
__weak_alias(mrand48,_mrand48)252fe8fb19SBen Gras __weak_alias(mrand48,_mrand48)
262fe8fb19SBen Gras #endif
272fe8fb19SBen Gras 
282fe8fb19SBen Gras long
292fe8fb19SBen Gras mrand48(void)
302fe8fb19SBen Gras {
312fe8fb19SBen Gras 	__dorand48(__rand48_seed);
32*84d9c625SLionel Sambuc 	return (int16_t)__rand48_seed[2] * 65536 + __rand48_seed[1];
332fe8fb19SBen Gras }
34