From ed47d0edb18f5bfa6e997853583b4a38b2bf657e Mon Sep 17 00:00:00 2001 From: mardukbp Date: Mon, 16 Sep 2019 14:00:52 +0200 Subject: [PATCH] Preserve dimensions when casting a vector to double --- .../src/com/oracle/truffle/r/library/stats/Cdist.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Cdist.java b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Cdist.java index 06e4b8f909..d1f790de7c 100644 --- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Cdist.java +++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Cdist.java @@ -52,7 +52,7 @@ public abstract class Cdist extends RExternalBuiltinNode.Arg4 { static { Casts casts = new Casts(Cdist.class); - casts.arg(0).mustBe(nullValue().not(), RError.Message.VECTOR_IS_TOO_LARGE).mustBe(missingValue().not()).asDoubleVector(); + casts.arg(0).mustBe(nullValue().not(), RError.Message.VECTOR_IS_TOO_LARGE).mustBe(missingValue().not()).asDoubleVector(true,true,true); casts.arg(1).asIntegerVector().findFirst(); casts.arg(2).mustBe(instanceOf(RList.class)); casts.arg(3).asDoubleVector().findFirst(); @@ -68,7 +68,7 @@ protected RDoubleVector cdist(RAbstractDoubleVector x, @SuppressWarnings("unused @Cached("create()") GetDimAttributeNode getDimNode) { if (!getDimNode.isMatrix(x)) { // Note: otherwise array index out of bounds - throw error(Message.MUST_BE_SQUARE_MATRIX, "x"); + throw error(Message.NON_MATRIX, "dist"); } int nr = getDimNode.nrows(x); int nc = getDimNode.ncols(x);