OLD | NEW |
(Empty) | |
| 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 |
OLD | NEW |