131a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes/*	$NetBSD: seed48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $	*/
231a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/*
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Copyright (c) 1993 Martin Birgmeier
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * All rights reserved.
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * You may redistribute unmodified or modified versions of this source
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * code provided that the above copyright notice and this and the
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * following conditions are retained.
101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *
111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * This software is provided ``as is'', and comes with no warranties
121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * of any kind. I shall in no event be liable for anything that happens
131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * to anyone/anything when using this software.
141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */
151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
1631a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes#include <sys/cdefs.h>
1731a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes#if defined(LIBC_SCCS) && !defined(lint)
1831a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes__RCSID("$NetBSD: seed48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $");
1931a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes#endif /* LIBC_SCCS and not lint */
2031a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes
2131a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes#include "namespace.h"
2231a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes
2331a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes#include <assert.h>
2431a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include "rand48.h"
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
2731a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes#ifdef __weak_alias
2831a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes__weak_alias(seed48,_seed48)
2931a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes#endif
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectunsigned short *
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectseed48(unsigned short xseed[3])
331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project{
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	static unsigned short sseed[3];
35e734769276045c0cb89d4620fdd4ef35a0e6c335André Goddard Rosa
3631a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes	_DIAGASSERT(xseed != NULL);
3731a1060a5a75d4f2aa3c3a5a7b948eb512d53387Elliott Hughes
381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	sseed[0] = __rand48_seed[0];
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	sseed[1] = __rand48_seed[1];
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	sseed[2] = __rand48_seed[2];
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	__rand48_seed[0] = xseed[0];
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	__rand48_seed[1] = xseed[1];
431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	__rand48_seed[2] = xseed[2];
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	__rand48_mult[0] = RAND48_MULT_0;
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	__rand48_mult[1] = RAND48_MULT_1;
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	__rand48_mult[2] = RAND48_MULT_2;
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	__rand48_add = RAND48_ADD;
481dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	return sseed;
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}
50