return runtime.getNil(); case CHAR: return Util.newSigned8(runtime, buffer.getByte(index)); case UCHAR: return Util.newUnsigned8(runtime, buffer.getByte(index)); case SHORT: return Util.newSigned16(runtime, buffer.getShort(index)); case USHORT: return Util.newUnsigned16(runtime, buffer.getShort(index)); case INT: return Util.newSigned32(runtime, buffer.getInt(index)); case UINT: return Util.newUnsigned32(runtime, buffer.getInt(index)); case LONG_LONG: return Util.newSigned64(runtime, buffer.getLong(index)); case ULONG_LONG: return Util.newUnsigned64(runtime, buffer.getLong(index)); ? Util.newSigned32(runtime, buffer.getInt(index)) : Util.newSigned64(runtime, buffer.getLong(index)); case ULONG: return LONG_SIZE == 32 ? Util.newUnsigned32(runtime, buffer.getInt(index)) : Util.newUnsigned64(runtime, buffer.getLong(index)); return runtime.newFloat(buffer.getFloat(index)); case DOUBLE: return runtime.newFloat(buffer.getDouble(index));
break; case CHAR: buffer.setByteReturn((byte) longValue(value)); break; case UCHAR: buffer.setByteReturn((byte) longValue(value)); break; case SHORT: buffer.setShortReturn((short) longValue(value)); break; case USHORT: buffer.setShortReturn((short) longValue(value)); break; case INT: buffer.setIntReturn((int) longValue(value)); break; case UINT: buffer.setIntReturn((int) longValue(value)); break; case LONG_LONG: buffer.setLongReturn(Util.int64Value(value)); break; case ULONG_LONG: buffer.setLongReturn(Util.uint64Value(value)); break; buffer.setIntReturn((int) longValue(value)); } else { buffer.setLongReturn(Util.int64Value(value)); buffer.setIntReturn((int) longValue(value)); } else { buffer.setLongReturn(Util.uint64Value(value)); buffer.setFloatReturn((float) RubyNumeric.num2dbl(value)); break; case DOUBLE: buffer.setDoubleReturn(RubyNumeric.num2dbl(value)); break;
break; case CHAR: buffer.setByteReturn((byte) longValue(value)); break; case UCHAR: buffer.setByteReturn((byte) longValue(value)); break; case SHORT: buffer.setShortReturn((short) longValue(value)); break; case USHORT: buffer.setShortReturn((short) longValue(value)); break; case INT: buffer.setIntReturn((int) longValue(value)); break; case UINT: buffer.setIntReturn((int) longValue(value)); break; case LONG_LONG: buffer.setLongReturn(Util.int64Value(value)); break; case ULONG_LONG: buffer.setLongReturn(Util.uint64Value(value)); break; buffer.setIntReturn((int) longValue(value)); } else { buffer.setLongReturn(Util.int64Value(value)); buffer.setIntReturn((int) longValue(value)); } else { buffer.setLongReturn(Util.uint64Value(value)); buffer.setFloatReturn((float) RubyNumeric.num2dbl(value)); break; case DOUBLE: buffer.setDoubleReturn(RubyNumeric.num2dbl(value)); break;
break; case CHAR: buffer.setByteReturn((byte) longValue(value)); break; case UCHAR: buffer.setByteReturn((byte) longValue(value)); break; case SHORT: buffer.setShortReturn((short) longValue(value)); break; case USHORT: buffer.setShortReturn((short) longValue(value)); break; case INT: buffer.setIntReturn((int) longValue(value)); break; case UINT: buffer.setIntReturn((int) longValue(value)); break; case LONG_LONG: buffer.setLongReturn(Util.int64Value(value)); break; case ULONG_LONG: buffer.setLongReturn(Util.uint64Value(value)); break; buffer.setIntReturn((int) longValue(value)); } else { buffer.setLongReturn(Util.int64Value(value)); buffer.setIntReturn((int) longValue(value)); } else { buffer.setLongReturn(Util.uint64Value(value)); buffer.setFloatReturn((float) RubyNumeric.num2dbl(value)); break; case DOUBLE: buffer.setDoubleReturn(RubyNumeric.num2dbl(value)); break;
break; case CHAR: buffer.setByteReturn((byte) longValue(value)); break; case UCHAR: buffer.setByteReturn((byte) longValue(value)); break; case SHORT: buffer.setShortReturn((short) longValue(value)); break; case USHORT: buffer.setShortReturn((short) longValue(value)); break; case INT: buffer.setIntReturn((int) longValue(value)); break; case UINT: buffer.setIntReturn((int) longValue(value)); break; case LONG_LONG: buffer.setLongReturn(Util.int64Value(value)); break; case ULONG_LONG: buffer.setLongReturn(Util.uint64Value(value)); break; buffer.setIntReturn((int) longValue(value)); } else { buffer.setLongReturn(Util.int64Value(value)); buffer.setIntReturn((int) longValue(value)); } else { buffer.setLongReturn(Util.uint64Value(value)); buffer.setFloatReturn((float) RubyNumeric.num2dbl(value)); break; case DOUBLE: buffer.setDoubleReturn(RubyNumeric.num2dbl(value)); break;
return runtime.getNil(); case CHAR: return Util.newSigned8(runtime, buffer.getByte(index)); case UCHAR: return Util.newUnsigned8(runtime, buffer.getByte(index)); case SHORT: return Util.newSigned16(runtime, buffer.getShort(index)); case USHORT: return Util.newUnsigned16(runtime, buffer.getShort(index)); case INT: return Util.newSigned32(runtime, buffer.getInt(index)); case UINT: return Util.newUnsigned32(runtime, buffer.getInt(index)); case LONG_LONG: return Util.newSigned64(runtime, buffer.getLong(index)); case ULONG_LONG: return Util.newUnsigned64(runtime, buffer.getLong(index)); ? Util.newSigned32(runtime, buffer.getInt(index)) : Util.newSigned64(runtime, buffer.getLong(index)); case ULONG: return LONG_SIZE == 32 ? Util.newUnsigned32(runtime, buffer.getInt(index)) : Util.newUnsigned64(runtime, buffer.getLong(index)); return runtime.newFloat(buffer.getFloat(index)); case DOUBLE: return runtime.newFloat(buffer.getDouble(index));
return runtime.getNil(); case CHAR: return Util.newSigned8(runtime, buffer.getByte(index)); case UCHAR: return Util.newUnsigned8(runtime, buffer.getByte(index)); case SHORT: return Util.newSigned16(runtime, buffer.getShort(index)); case USHORT: return Util.newUnsigned16(runtime, buffer.getShort(index)); case INT: return Util.newSigned32(runtime, buffer.getInt(index)); case UINT: return Util.newUnsigned32(runtime, buffer.getInt(index)); case LONG_LONG: return Util.newSigned64(runtime, buffer.getLong(index)); case ULONG_LONG: return Util.newUnsigned64(runtime, buffer.getLong(index)); ? Util.newSigned32(runtime, buffer.getInt(index)) : Util.newSigned64(runtime, buffer.getLong(index)); case ULONG: return LONG_SIZE == 32 ? Util.newUnsigned32(runtime, buffer.getInt(index)) : Util.newUnsigned64(runtime, buffer.getLong(index)); return runtime.newFloat(buffer.getFloat(index)); case DOUBLE: return runtime.newFloat(buffer.getDouble(index));
return runtime.getNil(); case CHAR: return Util.newSigned8(runtime, buffer.getByte(index)); case UCHAR: return Util.newUnsigned8(runtime, buffer.getByte(index)); case SHORT: return Util.newSigned16(runtime, buffer.getShort(index)); case USHORT: return Util.newUnsigned16(runtime, buffer.getShort(index)); case INT: return Util.newSigned32(runtime, buffer.getInt(index)); case UINT: return Util.newUnsigned32(runtime, buffer.getInt(index)); case LONG_LONG: return Util.newSigned64(runtime, buffer.getLong(index)); case ULONG_LONG: return Util.newUnsigned64(runtime, buffer.getLong(index)); ? Util.newSigned32(runtime, buffer.getInt(index)) : Util.newSigned64(runtime, buffer.getLong(index)); case ULONG: return LONG_SIZE == 32 ? Util.newUnsigned32(runtime, buffer.getInt(index)) : Util.newUnsigned64(runtime, buffer.getLong(index)); return runtime.newFloat(buffer.getFloat(index)); case DOUBLE: return runtime.newFloat(buffer.getDouble(index));
/** * Converts a native string value into a ruby string object. * * @param runtime The ruby runtime to create the ruby string in * @param buffer The JFFI Closure parameter buffer. * @param index The index of the parameter in the buffer. * @return A new Ruby string object or nil if string is NULL. */ private static final IRubyObject getStringParameter(Ruby runtime, Closure.Buffer buffer, int index) { return FFIUtil.getString(runtime, buffer.getAddress(index)); }
/** * Converts a native string value into a ruby string object. * * @param runtime The ruby runtime to create the ruby string in * @param buffer The JFFI Closure parameter buffer. * @param index The index of the parameter in the buffer. * @return A new Ruby string object or nil if string is NULL. */ private static final IRubyObject getStringParameter(Ruby runtime, Closure.Buffer buffer, int index) { return FFIUtil.getString(runtime, buffer.getAddress(index)); }
/** * Converts a native string value into a ruby string object. * * @param runtime The ruby runtime to create the ruby string in * @param buffer The JFFI Closure parameter buffer. * @param index The index of the parameter in the buffer. * @return A new Ruby string object or nil if string is NULL. */ private static final IRubyObject getStringParameter(Ruby runtime, Closure.Buffer buffer, int index) { return FFIUtil.getString(runtime, buffer.getAddress(index)); }
/** * Converts a native string value into a ruby string object. * * @param runtime The ruby runtime to create the ruby string in * @param buffer The JFFI Closure parameter buffer. * @param index The index of the parameter in the buffer. * @return A new Ruby string object or nil if string is NULL. */ private static final IRubyObject getStringParameter(Ruby runtime, Closure.Buffer buffer, int index) { return FFIUtil.getString(runtime, buffer.getAddress(index)); }