1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
* stdlib/stdlib.h (drand48_data): Make available only for
	__USE_MISC.  Rename elements to protect namespace.  Change type
	and position of a and init element.
	* stdlib/drand48-iter.c: Don't handle unsigned short > 16 bit
	differently.  Adjust for drand48_data change.  Don't compute a here,
	it comes from drand48_data.
	* stdlib/lcong48_r.c: Don't handle unsigned short > 16 bit
	differently.  Adjust for drand48_data change.  Compute a here.
	* stdlib/srand48_r.c: Likewise.
	* stdlib/drand48.c: Adjust for drand48_data change.
	* stdlib/lrand48.c: Likewise.
	* stdlib/mrand48.c: Likewise.
	* stdlib/seek48.c: Likewise.
	* stdlib/drand48_r.c: Likewise.
	* stdlib/lrand48_r.c: Likewise.
	* stdlib/mrand48_r.c: Likewise.
	* stdlib/seed48_r.c: Likewise.  Don't handle unsigned short > 16 bit
	differently.
	* stdlib/erand48_r.c: Don't handle unsigned short > 16 bit differently.
	* stdlib/jrand48_r.c: Likewise.
This commit is contained in:
Ulrich Drepper
2001-01-21 16:54:08 +00:00
parent 27cb6b28b9
commit d17c01f9fe
16 changed files with 635 additions and 632 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
/* Copyright (C) 1995, 1997, 1998, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
@ -27,28 +27,15 @@ __seed48_r (seed16v, buffer)
struct drand48_data *buffer;
{
/* Save old value at a private place to be used as return value. */
memcpy (buffer->old_x, buffer->x, sizeof (buffer->x));
memcpy (buffer->__old_x, buffer->__x, sizeof (buffer->__x));
/* Install new state. */
#if USHRT_MAX == 0xffffU
buffer->x[2] = seed16v[2];
buffer->x[1] = seed16v[1];
buffer->x[0] = seed16v[0];
buffer->a[2] = 0x5;
buffer->a[1] = 0xdeec;
buffer->a[0] = 0xe66d;
#else
buffer->x[2] = (seed16v[2] << 16) | seed16v[1];
buffer->x[1] = seed16v[0] << 16;
buffer->x[0] = 0;
buffer->a[2] = 0x5deecUL;
buffer->a[1] = 0xe66d0000UL;
buffer->a[0] = 0;
#endif
buffer->c = 0xb;
buffer->init = 1;
buffer->__x[2] = seed16v[2];
buffer->__x[1] = seed16v[1];
buffer->__x[0] = seed16v[0];
buffer->__a = 0x5deece66dull;
buffer->__c = 0xb;
buffer->__init = 1;
return 0;
}