summaryrefslogtreecommitdiff
path: root/util/goodies.h
diff options
context:
space:
mode:
Diffstat (limited to 'util/goodies.h')
-rw-r--r--util/goodies.h256
1 files changed, 128 insertions, 128 deletions
diff --git a/util/goodies.h b/util/goodies.h
index 79933a9a2b8..94ca721aa8b 100644
--- a/util/goodies.h
+++ b/util/goodies.h
@@ -1,128 +1,128 @@
-// goodies.h
-// miscellaneous junk
-
-#pragma once
-
-#include "../stdafx.h"
-
-#if !defined(_WIN32)
-#include <pthread.h>
-inline pthread_t GetCurrentThreadId() { return pthread_self(); }
-#endif
-
-/* set to TRUE if we are exiting */
-extern bool goingAway;
-
-bool isPrime(int n);
-int nextPrime(int n);
-
-inline void dumpmemory(const char *data, int len) {
- if( len > 1024 )
- len = 1024;
- try {
- const char *q = data;
- const char *p = q;
- while( len > 0 ) {
- for( int i = 0; i < 16; i++ ) {
- if( *p >= 32 && *p <= 126 )
- cout << *p;
- else
- cout << '.';
- p++;
- }
- cout << " ";
- p -= 16;
- for( int i = 0; i < 16; i++ )
- cout << (unsigned) ((unsigned char)*p++) << ' ';
- cout << endl;
- len -= 16;
- }
- } catch(...) {
- }
-}
-
-#undef yassert
-#include <boost/thread/thread.hpp>
-#include <boost/thread/xtime.hpp>
-#undef assert
-#define assert xassert
-#define yassert 1
-
-struct WrappingInt {
- WrappingInt() { x = 0; }
- WrappingInt(unsigned z) : x(z) { }
- unsigned x;
- operator unsigned() const { return x; }
- WrappingInt& operator++() { x++; return *this; }
- static int diff(unsigned a, unsigned b) { return a-b; }
- bool operator<=(WrappingInt r) {
- // platform dependent
- int df = (r.x - x);
- return df >= 0;
- }
- bool operator>(WrappingInt r) { return !(r<=*this); }
-};
-
-#include <ctime>
-
-inline void time_t_to_String(time_t t, char *buf) {
-#if defined(_WIN32)
- ctime_s(buf, 64, &t);
-#else
- ctime_r(&t, buf);
-#endif
- buf[24] = 0; // don't want the \n
-}
-
-inline void sleepsecs(int s) {
- boost::xtime xt;
- boost::xtime_get(&xt, boost::TIME_UTC);
- xt.sec += s;
- boost::thread::sleep(xt);
-}
-inline void sleepmillis(int s) {
- boost::xtime xt;
- boost::xtime_get(&xt, boost::TIME_UTC);
- xt.nsec += s * 1000000;
- boost::thread::sleep(xt);
-}
-// note this wraps
-inline int tdiff(unsigned told, unsigned tnew) {
- return WrappingInt::diff(tnew, told);
-}
-inline unsigned curTimeMillis() {
- boost::xtime xt;
- boost::xtime_get(&xt, boost::TIME_UTC);
- unsigned t = xt.nsec / 1000000;
- return (xt.sec & 0xfffff) * 1000 + t;
-}
-inline unsigned long long jsTime() {
- boost::xtime xt;
- boost::xtime_get(&xt, boost::TIME_UTC);
- unsigned long long t = xt.nsec / 1000000;
- return ((unsigned long long) xt.sec * 1000) + t;
-}
-// measures up to 1024 seconds. or, 512 seconds with tdiff that is...
-inline unsigned curTimeMicros() {
- boost::xtime xt;
- boost::xtime_get(&xt, boost::TIME_UTC);
- unsigned t = xt.nsec / 1000;
- unsigned secs = xt.sec % 1024;
- t = secs*1000000 + t;
- return t;
-}
-using namespace boost;
-typedef boost::mutex::scoped_lock lock;
-
-// simple scoped timer
-class Timer {
-public:
- Timer() { old = curTimeMicros(); }
- int millis() { return micros() / 1000; }
- int micros() {
- unsigned n = curTimeMicros();
- return tdiff(old, n);
- }
-private:
- unsigned old;
-};
+// goodies.h
+// miscellaneous junk
+
+#pragma once
+
+#include "../stdafx.h"
+
+#if !defined(_WIN32)
+#include <pthread.h>
+inline pthread_t GetCurrentThreadId() { return pthread_self(); }
+#endif
+
+/* set to TRUE if we are exiting */
+extern bool goingAway;
+
+bool isPrime(int n);
+int nextPrime(int n);
+
+inline void dumpmemory(const char *data, int len) {
+ if( len > 1024 )
+ len = 1024;
+ try {
+ const char *q = data;
+ const char *p = q;
+ while( len > 0 ) {
+ for( int i = 0; i < 16; i++ ) {
+ if( *p >= 32 && *p <= 126 )
+ cout << *p;
+ else
+ cout << '.';
+ p++;
+ }
+ cout << " ";
+ p -= 16;
+ for( int i = 0; i < 16; i++ )
+ cout << (unsigned) ((unsigned char)*p++) << ' ';
+ cout << endl;
+ len -= 16;
+ }
+ } catch(...) {
+ }
+}
+
+#undef yassert
+#include <boost/thread/thread.hpp>
+#include <boost/thread/xtime.hpp>
+#undef assert
+#define assert xassert
+#define yassert 1
+
+struct WrappingInt {
+ WrappingInt() { x = 0; }
+ WrappingInt(unsigned z) : x(z) { }
+ unsigned x;
+ operator unsigned() const { return x; }
+ WrappingInt& operator++() { x++; return *this; }
+ static int diff(unsigned a, unsigned b) { return a-b; }
+ bool operator<=(WrappingInt r) {
+ // platform dependent
+ int df = (r.x - x);
+ return df >= 0;
+ }
+ bool operator>(WrappingInt r) { return !(r<=*this); }
+};
+
+#include <ctime>
+
+inline void time_t_to_String(time_t t, char *buf) {
+#if defined(_WIN32)
+ ctime_s(buf, 64, &t);
+#else
+ ctime_r(&t, buf);
+#endif
+ buf[24] = 0; // don't want the \n
+}
+
+inline void sleepsecs(int s) {
+ boost::xtime xt;
+ boost::xtime_get(&xt, boost::TIME_UTC);
+ xt.sec += s;
+ boost::thread::sleep(xt);
+}
+inline void sleepmillis(int s) {
+ boost::xtime xt;
+ boost::xtime_get(&xt, boost::TIME_UTC);
+ xt.nsec += s * 1000000;
+ boost::thread::sleep(xt);
+}
+// note this wraps
+inline int tdiff(unsigned told, unsigned tnew) {
+ return WrappingInt::diff(tnew, told);
+}
+inline unsigned curTimeMillis() {
+ boost::xtime xt;
+ boost::xtime_get(&xt, boost::TIME_UTC);
+ unsigned t = xt.nsec / 1000000;
+ return (xt.sec & 0xfffff) * 1000 + t;
+}
+inline unsigned long long jsTime() {
+ boost::xtime xt;
+ boost::xtime_get(&xt, boost::TIME_UTC);
+ unsigned long long t = xt.nsec / 1000000;
+ return ((unsigned long long) xt.sec * 1000) + t;
+}
+// measures up to 1024 seconds. or, 512 seconds with tdiff that is...
+inline unsigned curTimeMicros() {
+ boost::xtime xt;
+ boost::xtime_get(&xt, boost::TIME_UTC);
+ unsigned t = xt.nsec / 1000;
+ unsigned secs = xt.sec % 1024;
+ t = secs*1000000 + t;
+ return t;
+}
+using namespace boost;
+typedef boost::mutex::scoped_lock lock;
+
+// simple scoped timer
+class Timer {
+public:
+ Timer() { old = curTimeMicros(); }
+ int millis() { return micros() / 1000; }
+ int micros() {
+ unsigned n = curTimeMicros();
+ return tdiff(old, n);
+ }
+private:
+ unsigned old;
+};