static void getNonNativeDoubles()

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


  static void getNonNativeDoubles(final Object unsafeObj, long cumOffsetBytes,
      long copyBytes, final double[] dstArray, int dstOffsetDoubles,
      int lengthDoubles) {
    ResourceImpl.checkBounds(dstOffsetDoubles, lengthDoubles, dstArray.length);
    while (copyBytes > UNSAFE_COPY_THRESHOLD_BYTES) {
      final long chunkBytes = Math.min(copyBytes, UNSAFE_COPY_THRESHOLD_BYTES);
      final int chunkDoubles = (int) (chunkBytes >> DOUBLE_SHIFT);
      getDoubleArrayChunk(unsafeObj, cumOffsetBytes,
          dstArray, dstOffsetDoubles, chunkDoubles);
      cumOffsetBytes += chunkBytes;
      dstOffsetDoubles += chunkDoubles;
      copyBytes -= chunkBytes;
      lengthDoubles -= chunkDoubles;
    }
    getDoubleArrayChunk(unsafeObj, cumOffsetBytes,
        dstArray, dstOffsetDoubles, lengthDoubles);
  }