rotate.go 643 B

1234567891011121314
  1. // +build !go1.9
  2. package xxhash
  3. // TODO(caleb): After Go 1.10 comes out, remove this fallback code.
  4. func rol1(x uint64) uint64 { return (x << 1) | (x >> (64 - 1)) }
  5. func rol7(x uint64) uint64 { return (x << 7) | (x >> (64 - 7)) }
  6. func rol11(x uint64) uint64 { return (x << 11) | (x >> (64 - 11)) }
  7. func rol12(x uint64) uint64 { return (x << 12) | (x >> (64 - 12)) }
  8. func rol18(x uint64) uint64 { return (x << 18) | (x >> (64 - 18)) }
  9. func rol23(x uint64) uint64 { return (x << 23) | (x >> (64 - 23)) }
  10. func rol27(x uint64) uint64 { return (x << 27) | (x >> (64 - 27)) }
  11. func rol31(x uint64) uint64 { return (x << 31) | (x >> (64 - 31)) }