1*a535ab58Smatt /* $NetBSD: jrand48.c,v 1.9 2013/10/22 08:08:51 matt Exp $ */ 24e067afcSperry 3933a7b3aSbrezak /* 4933a7b3aSbrezak * Copyright (c) 1993 Martin Birgmeier 5933a7b3aSbrezak * All rights reserved. 6933a7b3aSbrezak * 7933a7b3aSbrezak * You may redistribute unmodified or modified versions of this source 8933a7b3aSbrezak * code provided that the above copyright notice and this and the 9933a7b3aSbrezak * following conditions are retained. 10933a7b3aSbrezak * 11933a7b3aSbrezak * This software is provided ``as is'', and comes with no warranties 12933a7b3aSbrezak * of any kind. I shall in no event be liable for anything that happens 13933a7b3aSbrezak * to anyone/anything when using this software. 14933a7b3aSbrezak */ 15933a7b3aSbrezak 1688c3eadbSlukem #include <sys/cdefs.h> 1788c3eadbSlukem #if defined(LIBC_SCCS) && !defined(lint) 18*a535ab58Smatt __RCSID("$NetBSD: jrand48.c,v 1.9 2013/10/22 08:08:51 matt Exp $"); 1988c3eadbSlukem #endif /* LIBC_SCCS and not lint */ 2088c3eadbSlukem 2143fa6fe3Sjtc #include "namespace.h" 22b48252f3Slukem 23b48252f3Slukem #include <assert.h> 24b48252f3Slukem 25933a7b3aSbrezak #include "rand48.h" 26933a7b3aSbrezak 2743fa6fe3Sjtc #ifdef __weak_alias __weak_alias(jrand48,_jrand48)2860549036Smycroft__weak_alias(jrand48,_jrand48) 2943fa6fe3Sjtc #endif 3043fa6fe3Sjtc 31933a7b3aSbrezak long 32933a7b3aSbrezak jrand48(unsigned short xseed[3]) 33933a7b3aSbrezak { 34b48252f3Slukem 35b48252f3Slukem _DIAGASSERT(xseed != NULL); 36b48252f3Slukem 37aa13ae60Sjtc __dorand48(xseed); 38*a535ab58Smatt return (int16_t)xseed[2] * 65536 + xseed[1]; 39933a7b3aSbrezak } 40