(root)/
xz-5.4.5/
src/
liblzma/
check/
crc_macros.h
       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.
      10  //
      11  ///////////////////////////////////////////////////////////////////////////////
      12  
      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)
      18  
      19  #	define S8(x) ((x) << 8)
      20  #	define S32(x) ((x) << 32)
      21  
      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)
      27  
      28  #	define S8(x) ((x) >> 8)
      29  #	define S32(x) ((x) >> 32)
      30  #endif