private static byte checkHash(long packAddr, long value, long packMin, long packMax, boolean isFloat) {
        if (intervalTooLarge(packMin, packMax)) {
            return RSValue.Some;
        }
        long intervalValue;
        if (isFloat) {
            double dValue = Double.longBitsToDouble(value);
            double dpackMin = Double.longBitsToDouble(packMin);
            intervalValue = Double.doubleToRawLongBits(dValue - dpackMin);
        } else {
            intervalValue = value - packMin;
        }
        int bit = (int) (intervalValue & MOD_1024);
        return ((MemoryUtil.getByte(packAddr + (bit >>> 3)) >>> (bit & MOD_8)) & 1) != 0 ? RSValue.Some : RSValue.None;
    }
Hash + Histogram, each takes 1024 bits.

| hash index0 | histo index0 | hash index1 | histo index1 | ...
|  1024 bits  |  1024 bits   |  1024 bits  |  1024 bits   | ...
indexr-segment/src/main/java/io/indexr/segment/index/RSIndex_Histogram_V2.java