123456789101112131415161718192021222324252627282930 |
- ///////////////////////////////////////////////////////////////////////////////
- //
- /// \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
|