1*88c3eadbSlukem /* $NetBSD: seed48.c,v 1.8 2005/06/12 05:21:28 lukem 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 16*88c3eadbSlukem #include <sys/cdefs.h> 17*88c3eadbSlukem #if defined(LIBC_SCCS) && !defined(lint) 18*88c3eadbSlukem __RCSID("$NetBSD: seed48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $"); 19*88c3eadbSlukem #endif /* LIBC_SCCS and not lint */ 20*88c3eadbSlukem 2143fa6fe3Sjtc #include "namespace.h" 22b48252f3Slukem 23b48252f3Slukem #include <assert.h> 24b48252f3Slukem 25933a7b3aSbrezak #include "rand48.h" 26933a7b3aSbrezak 2743fa6fe3Sjtc #ifdef __weak_alias __weak_alias(seed48,_seed48)2860549036Smycroft__weak_alias(seed48,_seed48) 2943fa6fe3Sjtc #endif 30933a7b3aSbrezak 31933a7b3aSbrezak unsigned short * 32933a7b3aSbrezak seed48(unsigned short xseed[3]) 33933a7b3aSbrezak { 34933a7b3aSbrezak static unsigned short sseed[3]; 35933a7b3aSbrezak 36b48252f3Slukem _DIAGASSERT(xseed != NULL); 37b48252f3Slukem 38d2b1e8e4Sjtc sseed[0] = __rand48_seed[0]; 39d2b1e8e4Sjtc sseed[1] = __rand48_seed[1]; 40d2b1e8e4Sjtc sseed[2] = __rand48_seed[2]; 41d2b1e8e4Sjtc __rand48_seed[0] = xseed[0]; 42d2b1e8e4Sjtc __rand48_seed[1] = xseed[1]; 43d2b1e8e4Sjtc __rand48_seed[2] = xseed[2]; 44d2b1e8e4Sjtc __rand48_mult[0] = RAND48_MULT_0; 45d2b1e8e4Sjtc __rand48_mult[1] = RAND48_MULT_1; 46d2b1e8e4Sjtc __rand48_mult[2] = RAND48_MULT_2; 47d2b1e8e4Sjtc __rand48_add = RAND48_ADD; 48933a7b3aSbrezak return sseed; 49933a7b3aSbrezak } 50