From: mdw Date: Sat, 22 Jul 2000 09:48:26 +0000 (+0000) Subject: Added macros for reading 64-bit values. X-Git-Tag: 2.0.4~158 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib/commitdiff_plain/3b7cea9339d07e82310c13493e5c05becad7d8dc Added macros for reading 64-bit values. --- diff --git a/bits.h b/bits.h index c3499b6..5ce1d95 100644 --- 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