1*0d943ef0Sguenther /* $OpenBSD: srand48.c,v 1.6 2015/09/13 08:31:48 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 17f7510a6eSderaadt int __rand48_deterministic; 18f7510a6eSderaadt 19df930be7Sderaadt void srand48(long seed)20df930be7Sderaadtsrand48(long seed) 21df930be7Sderaadt { 22f7510a6eSderaadt srand48_deterministic(seed); 23f7510a6eSderaadt __rand48_deterministic = 0; 24f7510a6eSderaadt } 25f7510a6eSderaadt 26f7510a6eSderaadt void srand48_deterministic(long seed)27f7510a6eSderaadtsrand48_deterministic(long seed) 28f7510a6eSderaadt { 29f7510a6eSderaadt __rand48_deterministic = 1; 30df930be7Sderaadt __rand48_seed[0] = RAND48_SEED_0; 31df930be7Sderaadt __rand48_seed[1] = (unsigned short) seed; 32df930be7Sderaadt __rand48_seed[2] = (unsigned short) (seed >> 16); 33df930be7Sderaadt __rand48_mult[0] = RAND48_MULT_0; 34df930be7Sderaadt __rand48_mult[1] = RAND48_MULT_1; 35df930be7Sderaadt __rand48_mult[2] = RAND48_MULT_2; 36df930be7Sderaadt __rand48_add = RAND48_ADD; 37df930be7Sderaadt } 38*0d943ef0Sguenther DEF_WEAK(srand48_deterministic); 39