am 08a70184: Merge "Add POSIX lcong48."

* commit '08a70184b42ef2963794a56233b0253e0b367253':
  Add POSIX lcong48.
This commit is contained in:
Elliott Hughes
2014-11-07 00:58:34 +00:00
committed by Android Git Automerger
4 changed files with 120 additions and 9 deletions

View File

@@ -290,6 +290,7 @@ libc_upstream_netbsd_src_files := \
upstream-netbsd/lib/libc/stdlib/drand48.c \
upstream-netbsd/lib/libc/stdlib/erand48.c \
upstream-netbsd/lib/libc/stdlib/jrand48.c \
upstream-netbsd/lib/libc/stdlib/lcong48.c \
upstream-netbsd/lib/libc/stdlib/ldiv.c \
upstream-netbsd/lib/libc/stdlib/lldiv.c \
upstream-netbsd/lib/libc/stdlib/lrand48.c \

View File

@@ -103,15 +103,6 @@ extern void * bsearch(const void *key, const void *base0,
extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
extern long jrand48(unsigned short *);
extern long mrand48(void);
extern long nrand48(unsigned short *);
extern long lrand48(void);
extern unsigned short *seed48(unsigned short*);
extern double erand48(unsigned short xsubi[3]);
extern double drand48(void);
extern void srand48(long);
uint32_t arc4random(void);
uint32_t arc4random_uniform(uint32_t);
void arc4random_buf(void*, size_t);
@@ -122,6 +113,16 @@ int rand(void);
int rand_r(unsigned int*);
void srand(unsigned int);
double drand48(void);
double erand48(unsigned short[3]);
long jrand48(unsigned short[3]);
void lcong48(unsigned short[7]);
long lrand48(void);
long mrand48(void);
long nrand48(unsigned short[3]);
unsigned short* seed48(unsigned short[3]);
void srand48(long);
char* initstate(unsigned int, char*, size_t);
long random(void);
char* setstate(char*);

View File

@@ -0,0 +1,43 @@
/* $NetBSD: lcong48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $ */
/*
* Copyright (c) 1993 Martin Birgmeier
* All rights reserved.
*
* You may redistribute unmodified or modified versions of this source
* code provided that the above copyright notice and this and the
* following conditions are retained.
*
* This software is provided ``as is'', and comes with no warranties
* of any kind. I shall in no event be liable for anything that happens
* to anyone/anything when using this software.
*/
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
__RCSID("$NetBSD: lcong48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $");
#endif /* LIBC_SCCS and not lint */
#include "namespace.h"
#include <assert.h>
#include "rand48.h"
#ifdef __weak_alias
__weak_alias(lcong48,_lcong48)
#endif
void
lcong48(unsigned short p[7])
{
_DIAGASSERT(p != NULL);
__rand48_seed[0] = p[0];
__rand48_seed[1] = p[1];
__rand48_seed[2] = p[2];
__rand48_mult[0] = p[3];
__rand48_mult[1] = p[4];
__rand48_mult[2] = p[5];
__rand48_add = p[6];
}