diff options
author | Jonathan Clark <jon.h.clark@gmail.com> | 2011-03-24 09:51:40 -0400 |
---|---|---|
committer | Jonathan Clark <jon.h.clark@gmail.com> | 2011-03-24 09:51:40 -0400 |
commit | eb33700d1c868662b5d0abedaaf3fa47948a89d0 (patch) | |
tree | ed70be84820d243524bab0b59a84b8da033a9c41 /klm/util/bit_packing.hh | |
parent | ba4f147f84aa0d4623da640a2d0de7e6242a53af (diff) | |
parent | a580faa8177331cf51138a2208e276b703470934 (diff) |
Undo some silly local changes so we can pull
Diffstat (limited to 'klm/util/bit_packing.hh')
-rw-r--r-- | klm/util/bit_packing.hh | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/klm/util/bit_packing.hh b/klm/util/bit_packing.hh index 70cfc2d2..5c71c792 100644 --- a/klm/util/bit_packing.hh +++ b/klm/util/bit_packing.hh @@ -28,16 +28,19 @@ namespace util { * but it may be called multiple times when that's inconvenient. */ -inline uint8_t BitPackShift(uint8_t bit, uint8_t length) { + // Fun fact: __BYTE_ORDER is wrong on Solaris Sparc, but the version without __ is correct. #if BYTE_ORDER == LITTLE_ENDIAN +inline uint8_t BitPackShift(uint8_t bit, uint8_t /*length*/) { return bit; +} #elif BYTE_ORDER == BIG_ENDIAN +inline uint8_t BitPackShift(uint8_t bit, uint8_t length) { return 64 - length - bit; +} #else #error "Bit packing code isn't written for your byte order." #endif -} /* Pack integers up to 57 bits using their least significant digits. * The length is specified using mask: |