You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2024/05/08 17:43:37 UTC
(datasketches-memory) 01/01: As reported in issue #178:
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch Fix_issue_178_for_2.2.X
in repository https://gitbox.apache.org/repos/asf/datasketches-memory.git
commit ca50bfa2bb181164e66e15e28e48ecd7883fb632
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Wed May 8 10:43:26 2024 -0700
As reported in issue #178:
static Memory wrap(byte[] array, int offsetBytes, int lengthBytes,
ByteOrder byteOrder) ...
...
return BaseWritableMemoryImpl.wrapHeapArray(array, 0, lengthBytes, true,
ByteOrder.nativeOrder(), null);
The "0" in the return statement should have been "offsetBytes".
I checked the similar classes WritableMemory, Buffer and WritableBuffer
for a similar error and they were all OK.
This fix includes a test for this bug.
This will be merged into branch 2.2.X in preparation for a bug fix
release 2.2.1.
---
.../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: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org