1*c68f07f6Sguenther /* $OpenBSD: seed48.c,v 1.6 2015/09/13 15:20:40 guenther Exp $ */ 2df930be7Sderaadt /* 3df930be7Sderaadt * Copyright (c) 1993 Martin Birgmeier 4df930be7Sderaadt * All rights reserved. 5df930be7Sderaadt * 6df930be7Sderaadt * You may redistribute unmodified or modified versions of this source 7df930be7Sderaadt * code provided that the above copyright notice and this and the 8df930be7Sderaadt * following conditions are retained. 9df930be7Sderaadt * 10df930be7Sderaadt * This software is provided ``as is'', and comes with no warranties 11df930be7Sderaadt * of any kind. I shall in no event be liable for anything that happens 12df930be7Sderaadt * to anyone/anything when using this software. 13df930be7Sderaadt */ 14df930be7Sderaadt 15df930be7Sderaadt #include "rand48.h" 16df930be7Sderaadt 17df930be7Sderaadt unsigned short * seed48(unsigned short xseed[3])18df930be7Sderaadtseed48(unsigned short xseed[3]) 19df930be7Sderaadt { 20f7510a6eSderaadt unsigned short *res; 21f7510a6eSderaadt 22f7510a6eSderaadt res = seed48_deterministic(xseed); 23f7510a6eSderaadt __rand48_deterministic = 0; 24f7510a6eSderaadt return res; 25f7510a6eSderaadt } 26f7510a6eSderaadt 27f7510a6eSderaadt unsigned short * seed48_deterministic(unsigned short xseed[3])28f7510a6eSderaadtseed48_deterministic(unsigned short xseed[3]) 29f7510a6eSderaadt { 30df930be7Sderaadt static unsigned short sseed[3]; 31df930be7Sderaadt 32f7510a6eSderaadt __rand48_deterministic = 1; 33df930be7Sderaadt sseed[0] = __rand48_seed[0]; 34df930be7Sderaadt sseed[1] = __rand48_seed[1]; 35df930be7Sderaadt sseed[2] = __rand48_seed[2]; 36df930be7Sderaadt __rand48_seed[0] = xseed[0]; 37df930be7Sderaadt __rand48_seed[1] = xseed[1]; 38df930be7Sderaadt __rand48_seed[2] = xseed[2]; 39df930be7Sderaadt __rand48_mult[0] = RAND48_MULT_0; 40df930be7Sderaadt __rand48_mult[1] = RAND48_MULT_1; 41df930be7Sderaadt __rand48_mult[2] = RAND48_MULT_2; 42df930be7Sderaadt __rand48_add = RAND48_ADD; 43df930be7Sderaadt return sseed; 44df930be7Sderaadt } 45*c68f07f6Sguenther DEF_WEAK(seed48_deterministic); 46