static void getNonNativeShorts()

in datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/CompareAndCopy.java [337:351]


  static void getNonNativeShorts(final Object unsafeObj, long cumOffsetBytes,
      long copyBytes, final short[] dstArray, int dstOffsetShorts,
      int lengthShorts) {
    ResourceImpl.checkBounds(dstOffsetShorts, lengthShorts, dstArray.length);
    while (copyBytes > UNSAFE_COPY_THRESHOLD_BYTES) {
      final long chunkBytes = Math.min(copyBytes, UNSAFE_COPY_THRESHOLD_BYTES);
      final int chunkShorts = (int) (chunkBytes >> SHORT_SHIFT);
      getShortArrayChunk(unsafeObj, cumOffsetBytes, dstArray, dstOffsetShorts, chunkShorts);
      cumOffsetBytes += chunkBytes;
      dstOffsetShorts += chunkShorts;
      copyBytes -= chunkBytes;
      lengthShorts -= chunkShorts;
    }
    getShortArrayChunk(unsafeObj, cumOffsetBytes, dstArray, dstOffsetShorts, lengthShorts);
  }