Home | History | Annotate | Download | only in stdlib
      1 /*	$OpenBSD: seed48.c,v 1.3 2005/08/08 08:05:37 espie Exp $ */
      2 /*
      3  * Copyright (c) 1993 Martin Birgmeier
      4  * All rights reserved.
      5  *
      6  * You may redistribute unmodified or modified versions of this source
      7  * code provided that the above copyright notice and this and the
      8  * following conditions are retained.
      9  *
     10  * This software is provided ``as is'', and comes with no warranties
     11  * of any kind. I shall in no event be liable for anything that happens
     12  * to anyone/anything when using this software.
     13  */
     14 
     15 #include "rand48.h"
     16 
     17 extern unsigned short __rand48_seed[3];
     18 extern unsigned short __rand48_mult[3];
     19 extern unsigned short __rand48_add;
     20 
     21 unsigned short *
     22 seed48(unsigned short xseed[3])
     23 {
     24 	static unsigned short sseed[3];
     25 
     26 	sseed[0] = __rand48_seed[0];
     27 	sseed[1] = __rand48_seed[1];
     28 	sseed[2] = __rand48_seed[2];
     29 	__rand48_seed[0] = xseed[0];
     30 	__rand48_seed[1] = xseed[1];
     31 	__rand48_seed[2] = xseed[2];
     32 	__rand48_mult[0] = RAND48_MULT_0;
     33 	__rand48_mult[1] = RAND48_MULT_1;
     34 	__rand48_mult[2] = RAND48_MULT_2;
     35 	__rand48_add = RAND48_ADD;
     36 	return sseed;
     37 }
     38