From 13a9feb6942a18623dbf545d7a6ef4d12372bca2 Mon Sep 17 00:00:00 2001 From: stepan <stepan.sindelar@oracle.com> Date: Wed, 30 Nov 2016 11:31:51 +0100 Subject: [PATCH] Fix typo in RPois + Wilcox catches OutOfMemoryError --- .../src/com/oracle/truffle/r/library/stats/RPois.java | 2 +- .../src/com/oracle/truffle/r/library/stats/Wilcox.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) 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 ee2e08713a..dc2ba3e7b6 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 04aec9c58b..0064741144 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; } -- GitLab