svn commit: r212336 - head/sys/sys
Alexander Motin
mav at FreeBSD.org
Wed Sep 8 20:09:51 UTC 2010
Author: mav
Date: Wed Sep 8 20:09:50 2010
New Revision: 212336
URL: http://svn.freebsd.org/changeset/base/212336
Log:
Add few more bintime math macros.
Modified:
head/sys/sys/time.h
Modified: head/sys/sys/time.h
==============================================================================
--- head/sys/sys/time.h Wed Sep 8 20:00:27 2010 (r212335)
+++ head/sys/sys/time.h Wed Sep 8 20:09:50 2010 (r212336)
@@ -90,6 +90,25 @@ bintime_sub(struct bintime *bt, const st
bt->sec -= bt2->sec;
}
+static __inline void
+bintime_mul(struct bintime *bt, u_int x)
+{
+ uint64_t p1, p2;
+
+ p1 = (bt->frac & 0xffffffffllu) * x;
+ p2 = (bt->frac >> 32) * x + (p1 >> 32);
+ bt->sec *= x;
+ bt->sec += (p2 >> 32);
+ bt->frac = (p2 << 32) | (p1 & 0xffffffffllu);
+}
+
+#define bintime_clear(a) ((a)->sec = (a)->frac = 0)
+#define bintime_isset(a) ((a)->sec || (a)->frac)
+#define bintime_cmp(a, b, cmp) \
+ (((a)->sec == (b)->sec) ? \
+ ((a)->frac cmp (b)->frac) : \
+ ((a)->sec cmp (b)->sec))
+
/*-
* Background information:
*
More information about the svn-src-head
mailing list