private void checkOffset(final V8ArrayData arrayData) { if ((arrayData.offset % getStructureSize(arrayData.type)) != 0) { throw new IllegalStateException("RangeError: Start offset of Int32Array must be a multiple of " + getStructureSize(arrayData.type)); } }
private void checkSize(final V8ArrayData arrayData) { if (arrayData.size < 0) { throw new IllegalStateException("RangeError: Invalid typed array length"); } int limit = (arrayData.size * getStructureSize(arrayData.type)) + arrayData.offset; if (limit > arrayData.buffer.limit()) { throw new IllegalStateException("RangeError: Invalid typed array length"); } }
private void checkOffset(final V8ArrayData arrayData) { if ((arrayData.offset % getStructureSize(arrayData.type)) != 0) { throw new IllegalStateException("RangeError: Start offset of Int32Array must be a multiple of " + getStructureSize(arrayData.type)); } }
private void checkSize(final V8ArrayData arrayData) { if (arrayData.size < 0) { throw new IllegalStateException("RangeError: Invalid typed array length"); } int limit = (arrayData.size * getStructureSize(arrayData.type)) + arrayData.offset; if (limit > arrayData.buffer.limit()) { throw new IllegalStateException("RangeError: Invalid typed array length"); } }
@Test public void testUInt8ArrayIs1Byte() { assertEquals(1, V8TypedArray.getStructureSize(V8Value.UNSIGNED_INT_8_ARRAY)); }
@Test public void testInt16ArrayIs2Bytes() { assertEquals(2, V8TypedArray.getStructureSize(V8Value.INT_16_ARRAY)); }
@Test public void testFloat32ArrayIs4Bytes() { assertEquals(4, V8TypedArray.getStructureSize(V8Value.FLOAT_32_ARRAY)); }
@Test public void testInt8ArrayIs1Byte() { assertEquals(1, V8TypedArray.getStructureSize(V8Value.INT_8_ARRAY)); }
@Test public void testUInt16ArrayIs2Bytes() { assertEquals(2, V8TypedArray.getStructureSize(V8Value.UNSIGNED_INT_16_ARRAY)); }
@Test public void testInt32ArrayIs4Bytes() { assertEquals(4, V8TypedArray.getStructureSize(V8Value.INT_32_ARRAY)); }
@Test public void testUInt32ArrayIs4Bytes() { assertEquals(4, V8TypedArray.getStructureSize(V8Value.UNSIGNED_INT_32_ARRAY)); }
@Test public void testUInt8ClampedArrayIs1Byte() { assertEquals(1, V8TypedArray.getStructureSize(V8Value.UNSIGNED_INT_8_CLAMPED_ARRAY)); }
@Test public void testFloat64ArrayIs8Bytes() { assertEquals(8, V8TypedArray.getStructureSize(V8Value.FLOAT_64_ARRAY)); }
private void checkOffset(final V8ArrayData arrayData) { if ((arrayData.offset % getStructureSize(arrayData.type)) != 0) { throw new IllegalStateException("RangeError: Start offset of Int32Array must be a multiple of " + getStructureSize(arrayData.type)); } }
private void checkOffset(final V8ArrayData arrayData) { if ((arrayData.offset % getStructureSize(arrayData.type)) != 0) { throw new IllegalStateException("RangeError: Start offset of Int32Array must be a multiple of " + getStructureSize(arrayData.type)); } }
private void checkSize(final V8ArrayData arrayData) { if (arrayData.size < 0) { throw new IllegalStateException("RangeError: Invalid typed array length"); } int limit = (arrayData.size * getStructureSize(arrayData.type)) + arrayData.offset; if (limit > arrayData.buffer.getBackingStore().limit()) { throw new IllegalStateException("RangeError: Invalid typed array length"); } }
protected TypedArray(final ByteBuffer buffer) { if (!buffer.isDirect()) { throw new IllegalArgumentException("ByteBuffer must be a allocated as a direct ByteBuffer"); } if ((buffer.limit() % V8TypedArray.getStructureSize(getType())) != 0) { throw new IllegalArgumentException("ByteBuffer must be a allocated as a direct ByteBuffer"); } this.buffer = buffer; }
private void checkSize(final V8ArrayData arrayData) { if (arrayData.size < 0) { throw new IllegalStateException("RangeError: Invalid typed array length"); } int limit = (arrayData.size * getStructureSize(arrayData.type)) + arrayData.offset; if (limit > arrayData.buffer.getBackingStore().limit()) { throw new IllegalStateException("RangeError: Invalid typed array length"); } }
protected TypedArray(final ByteBuffer buffer) { if (!buffer.isDirect()) { throw new IllegalArgumentException("ByteBuffer must be a allocated as a direct ByteBuffer"); } if ((buffer.limit() % V8TypedArray.getStructureSize(getType())) != 0) { throw new IllegalArgumentException("ByteBuffer must be a allocated as a direct ByteBuffer"); } this.buffer = buffer; }