This is an automated email from the ASF dual-hosted git repository. leerho pushed a commit to branch fix_issue_178 in repository https://gitbox.apache.org/repos/asf/datasketches-memory.git
commit f9313c4c7579c195ea91f3abdda0fe2fc86b5557 Author: Lee Rhodes <[email protected]> AuthorDate: Tue May 7 16:12:41 2024 -0700 fix issue 178 --- .../src/main/java/org/apache/datasketches/memory/Memory.java | 2 +- .../org/apache/datasketches/memory/internal/MemoryTest.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Memory.java b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Memory.java index 83fe2d0..7c82882 100644 --- a/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Memory.java +++ b/datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/Memory.java @@ -195,7 +195,7 @@ public interface Memory extends BaseState { negativeCheck(offsetBytes, "offsetBytes"); negativeCheck(lengthBytes, "lengthBytes"); UnsafeUtil.checkBounds(offsetBytes, lengthBytes, array.length); - return BaseWritableMemoryImpl.wrapHeapArray(array, 0, lengthBytes, true, ByteOrder.nativeOrder(), null); + return BaseWritableMemoryImpl.wrapHeapArray(array, offsetBytes, lengthBytes, true, ByteOrder.nativeOrder(), null); } /** diff --git a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java index 045c59f..8a3d472 100644 --- a/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java +++ b/datasketches-memory-java8/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java @@ -457,6 +457,18 @@ public class MemoryTest { assertEquals(mem.getChar(0), 256); } + @Test + public void checkIssue178() { + int n = 8; + byte[] bArr = new byte[n]; + for (int i = 0; i < n; i++) { bArr[i] = (byte)i; } + Memory mem = Memory.wrap(bArr, n / 2, n / 2, ByteOrder.nativeOrder()); + for (int i = 0; i < n / 2; i++) { + println(mem.getByte(i)); + assertEquals(mem.getByte(i), n / 2 + i); + } + } + @Test public void printlnTest() { println("PRINTING: "+this.getClass().getName()); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
