#include <cmath>
#include <ctime>
#include <cstdio>
#include <sys/time.h>
#include "randnum.h"
Include dependency graph for randnum.cpp:
Go to the source code of this file.
Functions | |
unsigned long long | random_seed () |
Generate a random seed from /dev/random if available. |
unsigned long long @16::random_seed | ( | ) | [static] |
Generate a random seed from /dev/random if available.
if no /dev/random, generate the seed from current time in milli-second
Definition at line 58 of file randnum.cpp.
00059 { 00060 unsigned int seed; 00061 struct timeval tv; 00062 FILE *devrandom; 00063 00064 if ((devrandom = fopen("/dev/urandom","r")) == NULL) { 00065 gettimeofday(&tv,0); 00066 seed = tv.tv_sec + tv.tv_usec; 00067 //printf("Got seed %u from gettimeofday()\n",seed); 00068 } 00069 else { 00070 fread(&seed,sizeof(seed),1,devrandom); 00071 //printf("Got seed %u from /dev/random\n",seed); 00072 fclose(devrandom); 00073 } 00074 00075 return seed; 00076 }