diff -Naur msdir/clms msdir.patched/clms --- msdir/clms 2003-03-09 07:04:50.000000000 -0800 +++ msdir.patched/clms 2009-11-03 11:53:49.000000000 -0800 @@ -1,2 +1,2 @@ -gcc -O2 -o ms ms.c rand1.c streec.c -lm +gcc -O2 -o ms ms.c rand1_devrandom.c streec.c -lm diff -Naur msdir/ms.c msdir.patched/ms.c --- msdir/ms.c 2007-10-17 12:13:05.000000000 -0700 +++ msdir.patched/ms.c 2009-11-03 11:53:24.000000000 -0800 @@ -187,7 +187,7 @@ fprintf(pf,"segsites: %d\n",segsites); if( segsites > 0 ) fprintf(pf,"positions: "); for( i=0; i 0 ) for(i=0;i +#include + + double +ran1() +{ + double drand48(); + return( drand48() ); +} + + + void seedit( char *flag ) +{ + FILE *fopen(), *pfseed; + unsigned short seedv[3], seedv2[3], *seed48(), *pseed ; + int i; + + + if( flag[0] == 's' ){ + pfseed = fopen("/dev/random","r"); + fread(seedv, sizeof(unsigned short), 1, pfseed); + fclose( pfseed); + seedv[1] = 27011; seedv[2] = 59243; + seed48( seedv ); + + printf("\n%d %d %d\n", seedv[0], seedv[1], seedv[2] ); + } +} + + int +commandlineseed( char **seeds) +{ + unsigned short seedv[3], *seed48(); + + seedv[0] = atoi( seeds[0] ); + seedv[1] = atoi( seeds[1] ); + seedv[2] = atoi( seeds[2] ); + printf("\n%d %d %d\n", seedv[0], seedv[1], seedv[2] ); + + seed48(seedv); + return(3); +} +