Wrap numeric vector as flat Java parameter

Share:

Description

.jfloat marks a numeric vector as an object that can be used as parameter to Java calls that require float parameters. Similarly, .jlong marks a numeric vector as long parameter.

Usage

1
2
3
4
5
.jfloat(x)
.jlong(x)
.jbyte(x)
.jchar(x)
.jshort(x)

Arguments

x

numeric vector

Details

R has no native float or long type. Numeric vectors are stored as doubles, hence there is no native way to pass float numbers to Java methods. The .jfloat call marks a numeric vector as having the Java type float by wrapping it in the jfloat class. The class is still a subclass of numeric, therefore all regular R operations are unaffected by this.

Similarly, .jlong is used to mark a numeric vector as a parameter of the long Java type. Please note that in general R has no native type that will hold a long value, so conversion between Java's long type and R's numeric is potentially lossy.

.jbyte is used when a scalar byte is to be passed ot Java. Note that byte arrays are natively passed as RAW vectors, not as .jbyte arrays.

jchar is strictly experimental and may be based on character vectors in the future.

Value

Returns a numeric vector of the class jfloat, jlong, jbyte, jshort or jchar that can be used as parameter to Java calls that require float, long, byte, short or char parameters respectively.

See Also

.jcall, jfloat-class

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.