xref: /freebsd/lib/libc/gen/seed48.c (revision 559a218c9b257775fb249b67945fe4a05b7a6b9f)
14b4b7d05SGarrett Wollman /*
24b4b7d05SGarrett Wollman  * Copyright (c) 1993 Martin Birgmeier
34b4b7d05SGarrett Wollman  * All rights reserved.
44b4b7d05SGarrett Wollman  *
54b4b7d05SGarrett Wollman  * You may redistribute unmodified or modified versions of this source
64b4b7d05SGarrett Wollman  * code provided that the above copyright notice and this and the
74b4b7d05SGarrett Wollman  * following conditions are retained.
84b4b7d05SGarrett Wollman  *
94b4b7d05SGarrett Wollman  * This software is provided ``as is'', and comes with no warranties
104b4b7d05SGarrett Wollman  * of any kind. I shall in no event be liable for anything that happens
114b4b7d05SGarrett Wollman  * to anyone/anything when using this software.
124b4b7d05SGarrett Wollman  */
134b4b7d05SGarrett Wollman 
144b4b7d05SGarrett Wollman #include "rand48.h"
154b4b7d05SGarrett Wollman 
164b4b7d05SGarrett Wollman extern unsigned short _rand48_seed[3];
174b4b7d05SGarrett Wollman extern unsigned short _rand48_mult[3];
184b4b7d05SGarrett Wollman extern unsigned short _rand48_add;
194b4b7d05SGarrett Wollman 
204b4b7d05SGarrett Wollman unsigned short *
seed48(unsigned short xseed[3])214b4b7d05SGarrett Wollman seed48(unsigned short xseed[3])
224b4b7d05SGarrett Wollman {
234b4b7d05SGarrett Wollman 	static unsigned short sseed[3];
244b4b7d05SGarrett Wollman 
254b4b7d05SGarrett Wollman 	sseed[0] = _rand48_seed[0];
264b4b7d05SGarrett Wollman 	sseed[1] = _rand48_seed[1];
274b4b7d05SGarrett Wollman 	sseed[2] = _rand48_seed[2];
284b4b7d05SGarrett Wollman 	_rand48_seed[0] = xseed[0];
294b4b7d05SGarrett Wollman 	_rand48_seed[1] = xseed[1];
304b4b7d05SGarrett Wollman 	_rand48_seed[2] = xseed[2];
314b4b7d05SGarrett Wollman 	_rand48_mult[0] = RAND48_MULT_0;
324b4b7d05SGarrett Wollman 	_rand48_mult[1] = RAND48_MULT_1;
334b4b7d05SGarrett Wollman 	_rand48_mult[2] = RAND48_MULT_2;
344b4b7d05SGarrett Wollman 	_rand48_add = RAND48_ADD;
354b4b7d05SGarrett Wollman 	return sseed;
364b4b7d05SGarrett Wollman }
37