1*2fe8fb19SBen Gras /* $NetBSD: seed48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $ */ 2*2fe8fb19SBen Gras 3*2fe8fb19SBen Gras /* 4*2fe8fb19SBen Gras * Copyright (c) 1993 Martin Birgmeier 5*2fe8fb19SBen Gras * All rights reserved. 6*2fe8fb19SBen Gras * 7*2fe8fb19SBen Gras * You may redistribute unmodified or modified versions of this source 8*2fe8fb19SBen Gras * code provided that the above copyright notice and this and the 9*2fe8fb19SBen Gras * following conditions are retained. 10*2fe8fb19SBen Gras * 11*2fe8fb19SBen Gras * This software is provided ``as is'', and comes with no warranties 12*2fe8fb19SBen Gras * of any kind. I shall in no event be liable for anything that happens 13*2fe8fb19SBen Gras * to anyone/anything when using this software. 14*2fe8fb19SBen Gras */ 15*2fe8fb19SBen Gras 16*2fe8fb19SBen Gras #include <sys/cdefs.h> 17*2fe8fb19SBen Gras #if defined(LIBC_SCCS) && !defined(lint) 18*2fe8fb19SBen Gras __RCSID("$NetBSD: seed48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $"); 19*2fe8fb19SBen Gras #endif /* LIBC_SCCS and not lint */ 20*2fe8fb19SBen Gras 21*2fe8fb19SBen Gras #include "namespace.h" 22*2fe8fb19SBen Gras 23*2fe8fb19SBen Gras #include <assert.h> 24*2fe8fb19SBen Gras 25*2fe8fb19SBen Gras #include "rand48.h" 26*2fe8fb19SBen Gras 27*2fe8fb19SBen Gras #ifdef __weak_alias __weak_alias(seed48,_seed48)28*2fe8fb19SBen Gras__weak_alias(seed48,_seed48) 29*2fe8fb19SBen Gras #endif 30*2fe8fb19SBen Gras 31*2fe8fb19SBen Gras unsigned short * 32*2fe8fb19SBen Gras seed48(unsigned short xseed[3]) 33*2fe8fb19SBen Gras { 34*2fe8fb19SBen Gras static unsigned short sseed[3]; 35*2fe8fb19SBen Gras 36*2fe8fb19SBen Gras _DIAGASSERT(xseed != NULL); 37*2fe8fb19SBen Gras 38*2fe8fb19SBen Gras sseed[0] = __rand48_seed[0]; 39*2fe8fb19SBen Gras sseed[1] = __rand48_seed[1]; 40*2fe8fb19SBen Gras sseed[2] = __rand48_seed[2]; 41*2fe8fb19SBen Gras __rand48_seed[0] = xseed[0]; 42*2fe8fb19SBen Gras __rand48_seed[1] = xseed[1]; 43*2fe8fb19SBen Gras __rand48_seed[2] = xseed[2]; 44*2fe8fb19SBen Gras __rand48_mult[0] = RAND48_MULT_0; 45*2fe8fb19SBen Gras __rand48_mult[1] = RAND48_MULT_1; 46*2fe8fb19SBen Gras __rand48_mult[2] = RAND48_MULT_2; 47*2fe8fb19SBen Gras __rand48_add = RAND48_ADD; 48*2fe8fb19SBen Gras return sseed; 49*2fe8fb19SBen Gras } 50