Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,15 @@ public void testBasic() {
assertEquals(0x80042001, view.getInt32(0, true));
}

public void testWithOffset() {
Int8Array array = TypedArrays.createInt8Array(8);
array.set(new byte[] {0, 1, 2, 3, 4, 5, 6, 7}, 0);

DataView view = TypedArrays.createDataView(array.buffer(), 3, 4);
assertEquals((byte) 3, view.getInt8(0));
assertEquals((byte) 4, view.getInt8(1));
}

// public void testFoo() {
// System.out.println((short)0x80);
// System.out.println((byte)((short)0x80));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public float getFloat32(int byteOffset) {

@Override
public float getFloat32(int byteOffset, boolean littleEndian) {
return arrayBuf.getFloat32(byteOffset, littleEndian);
return arrayBuf.getFloat32(this.byteOffset + byteOffset, littleEndian);
}

@Override
Expand All @@ -49,7 +49,7 @@ public double getFloat64(int byteOffset) {

@Override
public double getFloat64(int byteOffset, boolean littleEndian) {
return arrayBuf.getFloat64(byteOffset, littleEndian);
return arrayBuf.getFloat64(this.byteOffset + byteOffset, littleEndian);
}

@Override
Expand All @@ -59,7 +59,7 @@ public short getInt16(int byteOffset) {

@Override
public short getInt16(int byteOffset, boolean littleEndian) {
return arrayBuf.getInt16(byteOffset, littleEndian);
return arrayBuf.getInt16(this.byteOffset + byteOffset, littleEndian);
}

@Override
Expand All @@ -69,12 +69,12 @@ public int getInt32(int byteOffset) {

@Override
public int getInt32(int byteOffset, boolean littleEndian) {
return arrayBuf.getInt32(byteOffset, littleEndian);
return arrayBuf.getInt32(this.byteOffset + byteOffset, littleEndian);
}

@Override
public byte getInt8(int byteOffset) {
return arrayBuf.getInt8(byteOffset);
return arrayBuf.getInt8(this.byteOffset + byteOffset);
}

@Override
Expand All @@ -84,7 +84,7 @@ public int getUint16(int byteOffset) {

@Override
public int getUint16(int byteOffset, boolean littleEndian) {
int val = arrayBuf.getInt16(byteOffset, littleEndian);
int val = arrayBuf.getInt16(this.byteOffset + byteOffset, littleEndian);
if (val < 0) {
val += 0x10000;
}
Expand All @@ -98,7 +98,7 @@ public long getUint32(int byteOffset) {

@Override
public long getUint32(int byteOffset, boolean littleEndian) {
long val = arrayBuf.getInt32(byteOffset, littleEndian);
long val = arrayBuf.getInt32(this.byteOffset + byteOffset, littleEndian);
if (val < 0) {
val += 0x100000000L;
}
Expand Down Expand Up @@ -131,7 +131,7 @@ public void setFloat32(int byteOffset, float value) {

@Override
public void setFloat32(int byteOffset, float value, boolean littleEndian) {
arrayBuf.setFloat32(byteOffset, value, littleEndian);
arrayBuf.setFloat32(this.byteOffset + byteOffset, value, littleEndian);
}

@Override
Expand All @@ -141,7 +141,7 @@ public void setFloat64(int byteOffset, double value) {

@Override
public void setFloat64(int byteOffset, double value, boolean littleEndian) {
arrayBuf.setFloat64(byteOffset, value, littleEndian);
arrayBuf.setFloat64(this.byteOffset + byteOffset, value, littleEndian);
}

@Override
Expand All @@ -151,7 +151,7 @@ public void setInt16(int byteOffset, int value) {

@Override
public void setInt16(int byteOffset, int value, boolean littleEndian) {
arrayBuf.setInt16(byteOffset, (short) (value & 0xFFFF), littleEndian);
arrayBuf.setInt16(this.byteOffset + byteOffset, (short) (value & 0xFFFF), littleEndian);
}

@Override
Expand All @@ -161,12 +161,12 @@ public void setInt32(int byteOffset, int value) {

@Override
public void setInt32(int byteOffset, int value, boolean littleEndian) {
arrayBuf.setInt32(byteOffset, value, littleEndian);
arrayBuf.setInt32(this.byteOffset + byteOffset, value, littleEndian);
}

@Override
public void setInt8(int byteOffset, int value) {
arrayBuf.setInt8(byteOffset, (byte) (value & 255));
arrayBuf.setInt8(this.byteOffset + byteOffset, (byte) (value & 255));
}

@Override
Expand All @@ -176,7 +176,7 @@ public void setUint16(int byteOffset, int value) {

@Override
public void setUint16(int byteOffset, int value, boolean littleEndian) {
arrayBuf.setInt16(byteOffset, (short) (value & 0xFFFF), littleEndian);
arrayBuf.setInt16(this.byteOffset + byteOffset, (short) (value & 0xFFFF), littleEndian);
}

@Override
Expand All @@ -186,7 +186,7 @@ public void setUint32(int byteOffset, long value) {

@Override
public void setUint32(int byteOffset, long value, boolean littleEndian) {
arrayBuf.setInt32(byteOffset, (int) (value & 0xFFFFFFFF), littleEndian);
arrayBuf.setInt32(this.byteOffset + byteOffset, (int) (value & 0xFFFFFFFF), littleEndian);
}

@Override
Expand All @@ -201,6 +201,6 @@ public void setUint32FromDouble(int byteOffset, double value, boolean littleEndi

@Override
public void setUint8(int byteOffset, int value) {
arrayBuf.setInt8(byteOffset, (byte) (value & 255));
arrayBuf.setInt8(this.byteOffset + byteOffset, (byte) (value & 255));
}
}