]> git.donarmstrong.com Git - mothur.git/blobdiff - timing.h
added count.seqs command and made some modifcations to the uchime code to allow it...
[mothur.git] / timing.h
index 10bd1f7705bed69363a08c9a2b3d2dd99cf3c054..4db7847346356b41a8a12a9e226413f2e81abecb 100644 (file)
--- a/timing.h
+++ b/timing.h
@@ -59,30 +59,29 @@ const unsigned AllocerCount =
 #undef A
        ;
 
-#ifdef _MSC_VER
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+typedef uint64_t TICKS;
+__inline__ uint64_t GetClockTicks()
+{
+       uint32_t lo, hi;
+       /* We cannot use "=A", since this would use %rax on x86_64 */
+       __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));
+       return (uint64_t)hi << 32 | lo;
+}
 
+
+#else  // ifdef _MSC_VER
 typedef unsigned __int64 TICKS;
 
 #pragma warning(disable:4035)
 inline TICKS GetClockTicks()
-       {
+{
        _asm
-               {
+       {
                _emit   0x0f
                _emit   0x31
-               }
-       }
-
-#else  // ifdef _MSC_VER
-
-typedef uint64_t TICKS;
-__inline__ uint64_t GetClockTicks()
-       {
-       uint32_t lo, hi;
-       /* We cannot use "=A", since this would use %rax on x86_64 */
-       __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));
-       return (uint64_t)hi << 32 | lo;
        }
+}
 
 #endif // ifdef _MSC_VER