From 9afb810f3a05298ba9d5a94495c59082e0a18a3b Mon Sep 17 00:00:00 2001 From: Aaron <aaronquinlan@gmail.com> Date: Fri, 7 Jan 2011 08:02:56 -0500 Subject: [PATCH] Fixed Issue #60. Improved randomization granularity for shuffleBed. Previously used time() which has 1 second precision. Now use gettimeofday() which has millisecond precision. --- src/shuffleBed/shuffleBed.cpp | 6 +++++- src/shuffleBed/shuffleBed.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/shuffleBed/shuffleBed.cpp b/src/shuffleBed/shuffleBed.cpp index 5306f9f4..3aca557b 100644 --- a/src/shuffleBed/shuffleBed.cpp +++ b/src/shuffleBed/shuffleBed.cpp @@ -31,7 +31,11 @@ BedShuffle::BedShuffle(string &bedFile, string &genomeFile, string &excludeFile, srand(seed); } else { - srand((unsigned)time(0)); + timeval tim; + gettimeofday(&tim, NULL); + int t1=tim.tv_sec+tim.tv_usec; + + srand((unsigned)t1); } _bed = new BedFile(bedFile); diff --git a/src/shuffleBed/shuffleBed.h b/src/shuffleBed/shuffleBed.h index 5dde6108..ab675110 100644 --- a/src/shuffleBed/shuffleBed.h +++ b/src/shuffleBed/shuffleBed.h @@ -18,6 +18,7 @@ #include <map> #include <cstdlib> #include <ctime> +#include <sys/time.h> using namespace std; -- GitLab