use of java.nio.LongBuffer in project jna by java-native-access.
the class BufferArgumentsMarshalTest method testLongBufferArgument.
public void testLongBufferArgument() {
LongBuffer buf = LongBuffer.allocate(1024);
final long MAGIC = 0x1234567887654321L;
lib.fillInt64Buffer(buf, 1024, MAGIC);
for (int i = 0; i < buf.capacity(); i++) {
assertEquals("Bad value at index " + i, MAGIC, buf.get(i));
}
}
use of java.nio.LongBuffer in project jna by java-native-access.
the class BufferArgumentsMarshalTest method testDirectLongBufferArgument.
public void testDirectLongBufferArgument() {
ByteBuffer buf = ByteBuffer.allocateDirect(1024 * 8).order(ByteOrder.nativeOrder());
LongBuffer longBuf = buf.asLongBuffer();
final long MAGIC = 0x1234567887654321L;
lib.fillInt64Buffer(longBuf, 1024, MAGIC);
for (int i = 0; i < longBuf.capacity(); i++) {
assertEquals("Bad value at index " + i, MAGIC, longBuf.get(i));
}
}
use of java.nio.LongBuffer in project jna by java-native-access.
the class BufferArgumentsMarshalTest method testWrappedLongArrayArguent.
public void testWrappedLongArrayArguent() {
long[] array = new long[1024];
LongBuffer buf = LongBuffer.wrap(array, 512, 512);
final long MAGIC = 0x1234567887654321L;
lib.fillInt64Buffer(buf, 512, MAGIC);
for (int i = 0; i < array.length; i++) {
assertEquals("Bad value at index " + i, i < 512 ? 0 : MAGIC, array[i]);
}
}
use of java.nio.LongBuffer in project robolectric by robolectric.
the class ShadowBitmapTest method throwsExceptionCopyPixelsToLongBuffer.
@Test(expected = RuntimeException.class)
public void throwsExceptionCopyPixelsToLongBuffer() {
Bitmap bitmapOriginal = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888);
LongBuffer buffer = LongBuffer.allocate(bitmapOriginal.getByteCount());
bitmapOriginal.copyPixelsToBuffer(buffer);
}
use of java.nio.LongBuffer in project robovm by robovm.
the class Main method storeValues.
static void storeValues(ByteBuffer directBuf) {
directBuf.position(0);
ShortBuffer shortBuf = directBuf.asShortBuffer();
CharBuffer charBuf = directBuf.asCharBuffer();
IntBuffer intBuf = directBuf.asIntBuffer();
FloatBuffer floatBuf = directBuf.asFloatBuffer();
LongBuffer longBuf = directBuf.asLongBuffer();
DoubleBuffer doubleBuf = directBuf.asDoubleBuffer();
final byte byteValue = -5;
final short shortValue = -1234;
final char charValue = 49200;
final int intValue = 0x12345678;
final float floatValue = 3.14159f;
final long longValue = 0x1122334455667788L;
final double doubleValue = Double.MIN_VALUE;
if (directBuf.put(1, byteValue).get(1) != byteValue) {
throw new RuntimeException("byte get/store failed");
}
if (shortBuf.put(1, shortValue).get(1) != shortValue) {
throw new RuntimeException("short get/store failed");
}
if (charBuf.put(2, charValue).get(2) != charValue) {
throw new RuntimeException("char get/store failed");
}
if (intBuf.put(2, intValue).get(2) != intValue) {
throw new RuntimeException("int get/store failed");
}
if (floatBuf.put(3, floatValue).get(3) != floatValue) {
throw new RuntimeException("float get/store failed");
}
if (longBuf.put(2, longValue).get(2) != longValue) {
throw new RuntimeException("long get/store failed");
}
if (doubleBuf.put(3, doubleValue).get(3) != doubleValue) {
throw new RuntimeException("double get/store failed");
}
directBuf.position(0);
char[] outBuf = new char[directBuf.limit() * 2];
for (int i = 0; i < directBuf.limit(); i++) {
byte b = directBuf.get();
outBuf[i * 2] = hexChar((byte) ((b >> 4) & 0x0f));
outBuf[i * 2 + 1] = hexChar((byte) (b & 0x0f));
}
System.out.println(new String(outBuf));
}
Aggregations