RT-AC56 3.0.0.4.374.37 core
[tomato.git] / release / src-rt-6.x.4708 / tools / misc / xz / src / liblzma / check / crc_macros.h
bloba7c21b765dca908f960906e594e0297bd78460a4
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file crc_macros.h
4 /// \brief Some endian-dependent macros for CRC32 and CRC64
5 //
6 // Author: Lasse Collin
7 //
8 // This file has been put into the public domain.
9 // You can do whatever you want with this file.
11 ///////////////////////////////////////////////////////////////////////////////
13 #ifdef WORDS_BIGENDIAN
14 # define A(x) ((x) >> 24)
15 # define B(x) (((x) >> 16) & 0xFF)
16 # define C(x) (((x) >> 8) & 0xFF)
17 # define D(x) ((x) & 0xFF)
19 # define S8(x) ((x) << 8)
20 # define S32(x) ((x) << 32)
22 #else
23 # define A(x) ((x) & 0xFF)
24 # define B(x) (((x) >> 8) & 0xFF)
25 # define C(x) (((x) >> 16) & 0xFF)
26 # define D(x) ((x) >> 24)
28 # define S8(x) ((x) >> 8)
29 # define S32(x) ((x) >> 32)
30 #endif