From bb2d1fdce87b427df79bc0a88e69594252538fc0 Mon Sep 17 00:00:00 2001 From: stepan <stepan.sindelar@oracle.com> Date: Wed, 13 Dec 2017 14:23:11 +0100 Subject: [PATCH] Recognize '**' as alias for '^' --- .../com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java | 2 +- .../src/com/oracle/truffle/r/test/ExpectedTestOutput.test | 4 ++++ .../truffle/r/test/library/base/TestSimpleArithmetic.java | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java index b7883f3806..d81c83297e 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/BinaryArithmetic.java @@ -68,7 +68,7 @@ public abstract class BinaryArithmetic extends Operation { public static class MultiplyBuiltin { } - @RBuiltin(name = "^", kind = PRIMITIVE, parameterNames = {"", ""}, alwaysSplit = true, dispatch = OPS_GROUP_GENERIC, behavior = PURE_ARITHMETIC) + @RBuiltin(name = "^", aliases = "**", kind = PRIMITIVE, parameterNames = {"", ""}, alwaysSplit = true, dispatch = OPS_GROUP_GENERIC, behavior = PURE_ARITHMETIC) public static class PowBuiltin { } diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test index 7ef462cd65..68c0f9b81b 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test @@ -85980,6 +85980,10 @@ Error in x + y : non-conformable arrays #{ x <- 1:2 ; dim(x) <- 1:2 ; y <- 2:3 ; dim(y) <- c(1,1,2) ; x + y } Error in x + y : non-conformable arrays +##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testVectorsOperations# +#3 ** 4 +[1] 81 + ##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testVectorsOperations# #{ -2:2 / 0:0 } [1] -Inf -Inf NaN Inf Inf diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleArithmetic.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleArithmetic.java index be6e824235..5f458da3df 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleArithmetic.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleArithmetic.java @@ -288,6 +288,7 @@ public class TestSimpleArithmetic extends TestBase { assertEval("{ c(1,3) / c(2,4) }"); assertEval("{ 1:1 / 0:0 }"); assertEval("{ -2:2 / 0:0 }"); + assertEval("3 ** 4"); } @Test -- GitLab