static void getNonNativeFloats()

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


  static void getNonNativeFloats(final Object unsafeObj, long cumOffsetBytes,
      long copyBytes, final float[] dstArray, int dstOffsetFloats,
      int lengthFloats) {
    ResourceImpl.checkBounds(dstOffsetFloats, lengthFloats, dstArray.length);
    while (copyBytes > UNSAFE_COPY_THRESHOLD_BYTES) {
      final long chunkBytes = Math.min(copyBytes, UNSAFE_COPY_THRESHOLD_BYTES);
      final int chunkFloats = (int) (chunkBytes >> FLOAT_SHIFT);
      getFloatArrayChunk(unsafeObj, cumOffsetBytes, dstArray, dstOffsetFloats, chunkFloats);
      cumOffsetBytes += chunkBytes;
      dstOffsetFloats += chunkFloats;
      copyBytes -= chunkBytes;
      lengthFloats -= chunkFloats;
    }
    getFloatArrayChunk(unsafeObj, cumOffsetBytes, dstArray, dstOffsetFloats, lengthFloats);
  }