chiark / gitweb /
Added macros for reading 64-bit values.
authormdw <mdw>
Sat, 22 Jul 2000 09:48:26 +0000 (09:48 +0000)
committermdw <mdw>
Sat, 22 Jul 2000 09:48:26 +0000 (09:48 +0000)
bits.h

diff --git a/bits.h b/bits.h
index c3499b618935c325eaaf0befbff81dfb91982caa..5ce1d9543e703edfc00c727a4783875b04b44324 100644 (file)
--- a/bits.h
+++ b/bits.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bits.h,v 1.6 2000/07/16 12:28:28 mdw Exp $
+ * $Id: bits.h,v 1.7 2000/07/22 09:48:26 mdw Exp $
  *
  * Portable bit-level manipulation macros
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: bits.h,v $
+ * Revision 1.7  2000/07/22 09:48:26  mdw
+ * Added macros for reading 64-bit values.
+ *
  * Revision 1.6  2000/07/16 12:28:28  mdw
  * Add 64-bit support, with faked arithmetic on 32-bit hosts.
  *
@@ -403,12 +406,14 @@ typedef unsigned char octet;
 #  define ASSIGN64(d, x) ((d).i = U64((x)))
 #  define HI64(x) U32((x).i >> 32)
 #  define LO64(x) U32((x).i)
+#  define GET64(t, x) ((t)(x).i)
 #else
 #  define SET64(d, h, l) ((d).hi = U32(h), (d).lo = U32(l))
 #  define ASSIGN64(d, x)                                               \
     ((d).hi = ((x & ~MASK32) >> 16) >> 16, (d).lo = U32(x))
 #  define HI64(x) U32((x).hi)
 #  define LO64(x) U32((x).lo)
+#  define GET64(t, x) (((((t)HI64(x) << 16) << 16) & ~MASK32) | (t)LO64(x))
 #endif
 
 #ifdef HAVE_UINT64