diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/RPois.java b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/RPois.java index ee2e08713abb3ef10bd0049d6f59f90983262a08..dc2ba3e7b631fe16104485f57e17f8320d8fc164 100644 --- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/RPois.java +++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/RPois.java @@ -160,7 +160,7 @@ public final class RPois { /* Only if mu >= 10 : ----------------------- */ /* Step N. normal sample */ - g = mu + s * rand.unifRand(); /* norm_rand() ~ N(0,1), standard normal */ + g = mu + s * rand.normRand(); /* norm_rand() ~ N(0,1), standard normal */ if (g >= 0.) { pois = Math.floor(g); diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Wilcox.java b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Wilcox.java index 04aec9c58b238ad26dddf3d41aa30a681e529798..006474114406a883f3eecd34dd174f20d8c847b0 100644 --- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Wilcox.java +++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Wilcox.java @@ -53,7 +53,13 @@ public final class Wilcox { r = 0.0; k = (int) (m + n); - int[] x = new int[k]; + int[] x; + try { + x = new int[k]; + } catch (OutOfMemoryError ex) { + // GnuR seems to be reporting the same number regardless of 'k' + throw RError.error(RError.SHOW_CALLER, CALLOC_COULD_NOT_ALLOCATE_INF); + } for (i = 0; i < k; i++) { x[i] = i; }