You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Typical Processing sketch math involves division to find an index for get()ing or set()ing a pixel.
In Java this works fine with integer division and integer modulo, which return an integer.
In R / Renjin, however, division or modulo (mod() or %%) of two integers returns double -- and "integer division" also returns a double with an integer value.
The result is that passing the result of almost any operation to get() / set() needs to be cast to be safely used, or it crashes the sketch with a signature type error -- this is unexpected for Processing users.
The solution, casting with as.integer(), is verbose and not in any of the non-R reference examples because it is not idiomatic in the Processing API, where the normal way of casting is with int() or (int).
The best solution is probably to add a casting signature which converts (double, double) to (int, nit) to BuiltinApplet.java.
mod()
or%%
) of two integers returns double -- and "integer division" also returns a double with an integer value.get()
/set()
needs to be cast to be safely used, or it crashes the sketch with a signature type error -- this is unexpected for Processing users.as.integer()
, is verbose and not in any of the non-R reference examples because it is not idiomatic in the Processing API, where the normal way of casting is withint()
or(int)
.The best solution is probably to add a casting signature which converts (double, double) to (int, nit) to BuiltinApplet.java.
src/rprocessing/applet/BuiltinApplet.java
For past examples see #155 , 2f1f865
The text was updated successfully, but these errors were encountered: