]> pd.if.org Git - zpackage/blobdiff - lzma/check/crc_macros.h
integrate lzma
[zpackage] / lzma / check / crc_macros.h
diff --git a/lzma/check/crc_macros.h b/lzma/check/crc_macros.h
new file mode 100644 (file)
index 0000000..a7c21b7
--- /dev/null
@@ -0,0 +1,30 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+/// \file       crc_macros.h
+/// \brief      Some endian-dependent macros for CRC32 and CRC64
+//
+//  Author:     Lasse Collin
+//
+//  This file has been put into the public domain.
+//  You can do whatever you want with this file.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifdef WORDS_BIGENDIAN
+#      define A(x) ((x) >> 24)
+#      define B(x) (((x) >> 16) & 0xFF)
+#      define C(x) (((x) >> 8) & 0xFF)
+#      define D(x) ((x) & 0xFF)
+
+#      define S8(x) ((x) << 8)
+#      define S32(x) ((x) << 32)
+
+#else
+#      define A(x) ((x) & 0xFF)
+#      define B(x) (((x) >> 8) & 0xFF)
+#      define C(x) (((x) >> 16) & 0xFF)
+#      define D(x) ((x) >> 24)
+
+#      define S8(x) ((x) >> 8)
+#      define S32(x) ((x) >> 32)
+#endif