www.pudn.com > hull.zip > rand.c


/*
 * Ken Clarkson wrote this.  Copyright (c) 1995 by AT&T..
 * Permission to use, copy, modify, and distribute this software for any
 * purpose without fee is hereby granted, provided that this entire notice
 * is included in all copies of any software which is or includes a copy
 * or modification of this software and in all copies of the supporting
 * documentation for such software.
 * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
 * WARRANTY.  IN PARTICULAR, NEITHER THE AUTHORS NOR AT&T MAKE ANY
 * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
 * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
 */

#include 
#include 
#include 
#include "hull.h"
#include 

double erand48 (unsigned short X[3]);

unsigned short X[3];

int rand(void);
void srand(unsigned int);

double double_rand(void)
{
#ifdef WIN32
	return (double)rand()/RAND_MAX;
#else
	return erand48(X);
#endif
}

void init_rand(long seed) {
#ifdef WIN32
	srand((unsigned int)seed);
#else
	fprintf(stderr, "init_rand: seed = %ld\n", X[1]=(unsigned short) ((seed==0) ? time(0) : seed));
#endif
}

#ifdef WIN32
double logb(double x) {
	if (x<=0) return -1e305;
	return log(x)/log(2);
}
#endif