zig_zag.h 573 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include <util/system/types.h>
  3. namespace NYT {
  4. ////////////////////////////////////////////////////////////////////////////////
  5. // These Functions provide coding of integers with property: 0 <= f(x) <= 2 * |x|
  6. // Actually taken 'as is' from protobuf/wire_format_lite.h
  7. ui32 ZigZagEncode32(i32 n);
  8. i32 ZigZagDecode32(ui32 n);
  9. ui64 ZigZagEncode64(i64 n);
  10. i64 ZigZagDecode64(ui64 n);
  11. ////////////////////////////////////////////////////////////////////////////////
  12. } // namespace NYT
  13. #define ZIG_ZAG_INL_H_
  14. #include "zig_zag-inl.h"
  15. #undef ZIG_ZAG_INL_H_