static int compare()

in src/main/java/org/apache/datasketches/memory/internal/ResourceImpl.java [172:187]


  static int compare(
      final MemorySegment seg1, final long offsetBytes1, final long lengthBytes1,
      final MemorySegment seg2, final long offsetBytes2, final long lengthBytes2) {
    final long seg1EndOff = offsetBytes1 + lengthBytes1;
    final long seg2EndOff = offsetBytes2 + lengthBytes2;
    final long mm = MemorySegment.mismatch(seg1, offsetBytes1, seg1EndOff, seg2, offsetBytes2, seg2EndOff);
    if (mm == -1) {
      return (lengthBytes2 > lengthBytes1) ? -1 : (lengthBytes2 == lengthBytes1) ? 0 : 1;
    }
    if (mm < Math.min(lengthBytes1, lengthBytes2)) {
      final int c1 = seg1.get(ValueLayout.JAVA_BYTE, offsetBytes1 + mm) & 0XFF;
      final int c2 = seg2.get(ValueLayout.JAVA_BYTE, offsetBytes2 + mm) & 0XFF;
      return Integer.compare(c1, c2);
    }
    return (lengthBytes1 == mm) ? -1 : 1;
  }