static void putNonNativeDoubles()

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


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