java.lang.Object
org.springframework.data.elasticsearch.utils.geohash.BitUtil

public class BitUtil extends Object
/** Code copied from Elasticsearch 7.10, Apache License V2 https://github.com/elastic/elasticsearch/blob/7.10/libs/geo/src/main/java/org/elasticsearch/geometry/utils/BitUtil.java

Utilities for common Bit twiddling methods. Borrowed heavily from Lucene (org.apache.lucene.util.BitUtil).
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static long
    deinterleave(long b)
    Extract just the even-bits value as a long from the bit-interleaved value
    static long
    flipFlop(long b)
    flip flops odd with even bits
    static long
    interleave(int even, int odd)
    Interleaves the first 32 bits of each long value Adapted from: https://graphics.stanford.edu/~seander/bithacks.html#InterleaveBMN

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BitUtil

      public BitUtil()
  • Method Details

    • interleave

      public static long interleave(int even, int odd)
      Interleaves the first 32 bits of each long value Adapted from: https://graphics.stanford.edu/~seander/bithacks.html#InterleaveBMN
    • deinterleave

      public static long deinterleave(long b)
      Extract just the even-bits value as a long from the bit-interleaved value
    • flipFlop

      public static long flipFlop(long b)
      flip flops odd with even bits