diff --git a/code/libraries/array/java/nu/marginalia/array/page/SegmentLongArray.java b/code/libraries/array/java/nu/marginalia/array/page/SegmentLongArray.java index 76e2b213..c87b16f0 100644 --- a/code/libraries/array/java/nu/marginalia/array/page/SegmentLongArray.java +++ b/code/libraries/array/java/nu/marginalia/array/page/SegmentLongArray.java @@ -183,10 +183,11 @@ public class SegmentLongArray implements LongArray { throw new IndexOutOfBoundsException("Destination array too small"); MemorySegment.copy( - source.getMemorySegment(), JAVA_LONG, sourceStartL, - segment, JAVA_LONG, destStartL, + source.getMemorySegment(), JAVA_LONG, sourceStartL * JAVA_LONG.byteSize(), + segment, JAVA_LONG, destStartL * JAVA_LONG.byteSize(), destEndL - destStartL ); + } @Override diff --git a/code/libraries/array/java/nu/marginalia/array/page/UnsafeLongArray.java b/code/libraries/array/java/nu/marginalia/array/page/UnsafeLongArray.java index 36e9f32e..f4c47dd4 100644 --- a/code/libraries/array/java/nu/marginalia/array/page/UnsafeLongArray.java +++ b/code/libraries/array/java/nu/marginalia/array/page/UnsafeLongArray.java @@ -284,10 +284,11 @@ public class UnsafeLongArray implements LongArray { throw new IndexOutOfBoundsException("Destination array too small"); MemorySegment.copy( - source.getMemorySegment(), JAVA_LONG, sourceStartL, - segment, JAVA_LONG, destStartL, + source.getMemorySegment(), JAVA_LONG, sourceStartL * JAVA_LONG.byteSize(), + segment, JAVA_LONG, destStartL * JAVA_LONG.byteSize(), destEndL - destStartL ); + } }