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]

Reply via email to