Index: src/libcfa/time
===================================================================
--- src/libcfa/time	(revision 2a84d06d1deb50fd2637ab8e384392089bda2faa)
+++ src/libcfa/time	(revision 94ddedef7d98692818b37f356a5085b68c4e662f)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar 14 23:18:57 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Mar 27 16:37:37 2018
-// Update Count     : 564
+// Last Modified On : Wed Mar 28 18:03:08 2018
+// Update Count     : 568
 // 
 
@@ -25,5 +25,5 @@
 #include <iostream>										// istype/ostype
 
-enum { TIMEGRAN = 1_000_000_000L };						// nanosecond granularity, except for timeval
+enum { TIMEGRAN = 1_000_000_000LL };					// nanosecond granularity, except for timeval
 
 
@@ -131,26 +131,26 @@
 
 static inline Duration ?`ns( int64_t nsec  ) { return (Duration)@{ nsec }; }
-static inline Duration ?`us( int64_t usec  ) { return (Duration)@{ usec * (TIMEGRAN / 1_000_000L) }; }
-static inline Duration ?`ms( int64_t msec  ) { return (Duration)@{ msec * (TIMEGRAN / 1_000L) }; }
+static inline Duration ?`us( int64_t usec  ) { return (Duration)@{ usec * (TIMEGRAN / 1_000_000LL) }; }
+static inline Duration ?`ms( int64_t msec  ) { return (Duration)@{ msec * (TIMEGRAN / 1_000LL) }; }
 static inline Duration ?`s ( int64_t sec   ) { return (Duration)@{ sec * TIMEGRAN }; }
 static inline Duration ?`s ( double  sec   ) { return (Duration)@{ sec * TIMEGRAN }; }
-static inline Duration ?`m ( int64_t min   ) { return (Duration)@{ min * (60L * TIMEGRAN) }; }
-static inline Duration ?`m ( double  min   ) { return (Duration)@{ min * (60L * TIMEGRAN) }; }
-static inline Duration ?`h ( int64_t hours ) { return (Duration)@{ hours * (3600L * TIMEGRAN) }; }
-static inline Duration ?`h ( double  hours ) { return (Duration)@{ hours * (3600L * TIMEGRAN) }; }
-static inline Duration ?`d ( int64_t days  ) { return (Duration)@{ days * (24L * 3600L * TIMEGRAN) }; }
-static inline Duration ?`d ( double  days  ) { return (Duration)@{ days * (24L * 3600L * TIMEGRAN) }; }
-static inline Duration ?`w ( int64_t weeks ) { return (Duration)@{ weeks * (7L * 24L * 3600L * TIMEGRAN) }; }
-static inline Duration ?`f ( int64_t fortnight ) { return (Duration)@{ fortnight * (14L * 24L * 3600L * TIMEGRAN) }; }
+static inline Duration ?`m ( int64_t min   ) { return (Duration)@{ min * (60LL * TIMEGRAN) }; }
+static inline Duration ?`m ( double  min   ) { return (Duration)@{ min * (60LL * TIMEGRAN) }; }
+static inline Duration ?`h ( int64_t hours ) { return (Duration)@{ hours * (3600LL * TIMEGRAN) }; }
+static inline Duration ?`h ( double  hours ) { return (Duration)@{ hours * (3600LL * TIMEGRAN) }; }
+static inline Duration ?`d ( int64_t days  ) { return (Duration)@{ days * (24LL * 3600LL * TIMEGRAN) }; }
+static inline Duration ?`d ( double  days  ) { return (Duration)@{ days * (24LL * 3600LL * TIMEGRAN) }; }
+static inline Duration ?`w ( int64_t weeks ) { return (Duration)@{ weeks * (7LL * 24LL * 3600LL * TIMEGRAN) }; }
+static inline Duration ?`f ( int64_t fortnight ) { return (Duration)@{ fortnight * (14LL * 24LL * 3600LL * TIMEGRAN) }; }
 
 static inline int64_t ?`ns ( Duration dur ) { return dur.tv; }
-static inline int64_t ?`us ( Duration dur ) { return dur.tv / (TIMEGRAN / 1_000_000L); }
-static inline int64_t ?`ms ( Duration dur ) { return dur.tv / (TIMEGRAN / 1_000L); }
+static inline int64_t ?`us ( Duration dur ) { return dur.tv / (TIMEGRAN / 1_000_000LL); }
+static inline int64_t ?`ms ( Duration dur ) { return dur.tv / (TIMEGRAN / 1_000LL); }
 static inline int64_t ?`s  ( Duration dur ) { return dur.tv / TIMEGRAN; }
-static inline int64_t ?`m  ( Duration dur ) { return dur.tv / (60L * TIMEGRAN); }
-static inline int64_t ?`h  ( Duration dur ) { return dur.tv / (3600L * TIMEGRAN); }
-static inline int64_t ?`d  ( Duration dur ) { return dur.tv / (24L * 3600L * TIMEGRAN); }
-static inline int64_t ?`w  ( Duration dur ) { return dur.tv / (7L * 24L * 3600L * TIMEGRAN); }
-static inline int64_t ?`f  ( Duration dur ) { return dur.tv / (14L * 24L * 3600L * TIMEGRAN); }
+static inline int64_t ?`m  ( Duration dur ) { return dur.tv / (60LL * TIMEGRAN); }
+static inline int64_t ?`h  ( Duration dur ) { return dur.tv / (3600LL * TIMEGRAN); }
+static inline int64_t ?`d  ( Duration dur ) { return dur.tv / (24LL * 3600LL * TIMEGRAN); }
+static inline int64_t ?`w  ( Duration dur ) { return dur.tv / (7LL * 24LL * 3600LL * TIMEGRAN); }
+static inline int64_t ?`f  ( Duration dur ) { return dur.tv / (14LL * 24LL * 3600LL * TIMEGRAN); }
 
 //------------------------- timeval (cont) -------------------------
@@ -158,5 +158,5 @@
 static inline void ?{}( timeval & t, Duration dur ) with( dur ) {
 	t.tv_sec = tv / TIMEGRAN;							// seconds
-	t.tv_usec = tv % TIMEGRAN / (TIMEGRAN / 1_000_000L); // microseconds
+	t.tv_usec = tv % TIMEGRAN / (TIMEGRAN / 1_000_000LL); // microseconds
 } // ?{}
 
@@ -222,5 +222,5 @@
 
 static inline Time ?=?( Time & time, timeval t ) with( time ) {
-	tv = (int64_t)t.tv_sec * TIMEGRAN + t.tv_usec * (TIMEGRAN / 1_000_000L);
+	tv = (int64_t)t.tv_sec * TIMEGRAN + t.tv_usec * (TIMEGRAN / 1_000_000LL);
 	return time;
 } // ?=?
@@ -230,14 +230,4 @@
 	return time;
 } // ?=?
-
-static inline void ?{}( timeval & t, Time time ) with( time ) {
-	t.tv_sec = tv / TIMEGRAN;							// seconds
-	t.tv_usec = tv % TIMEGRAN / ( TIMEGRAN / 1_000_000L ); // microseconds
-} // ?{}
-
-static inline void ?{}( timespec & t, Time time ) with( time ) {
-	t.tv_sec = tv / TIMEGRAN;							// seconds
-	t.tv_nsec = tv % TIMEGRAN;							// nanoseconds
-} // ?{}
 
 static inline Time ?+?( Time & lhs, Duration rhs ) { return (Time)@{ lhs.tv + rhs.tv }; }
@@ -274,4 +264,18 @@
 forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Time time );
 
+//------------------------- timeval (cont) -------------------------
+
+static inline void ?{}( timeval & t, Time time ) with( t, time ) {
+	tv_sec = tv / TIMEGRAN;								// seconds
+	tv_usec = tv % TIMEGRAN / (TIMEGRAN / 1_000_000LL);	// microseconds
+} // ?{}
+
+//------------------------- timespec (cont) -------------------------
+
+static inline void ?{}( timespec & t, Time time ) with( t, time ) {
+	tv_sec = tv / TIMEGRAN;								// seconds
+	tv_nsec = tv % TIMEGRAN;							// nanoseconds
+} // ?{}
+
 
 //######################### Clock #########################
