diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/grid/GridFunctions.java b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/grid/GridFunctions.java index d7a155a96fdfa698f0be25394a266e634d31153d..a5b48baf8738fb7cf2e9b3df985893c61a79b722 100644 --- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/grid/GridFunctions.java +++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/grid/GridFunctions.java @@ -17,9 +17,7 @@ import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.stringValue; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.dsl.Fallback; import com.oracle.truffle.api.dsl.Specialization; -import com.oracle.truffle.r.library.stats.Cdist; import com.oracle.truffle.r.nodes.builtin.RExternalBuiltinNode; -import com.oracle.truffle.r.nodes.builtin.NodeWithArgumentCasts.Casts; import com.oracle.truffle.r.runtime.RError; import com.oracle.truffle.r.runtime.data.RArgsValuesAndNames; import com.oracle.truffle.r.runtime.data.RDataFactory; diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/deriv/D.java b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/deriv/D.java index 8180a40c81aab0ab113e233038c39c1b55685160..f0d059510dfd53f75059882ad3365224b3d6d9dc 100644 --- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/deriv/D.java +++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/deriv/D.java @@ -37,13 +37,11 @@ import com.oracle.truffle.r.nodes.RASTUtils; import com.oracle.truffle.r.nodes.access.ConstantNode; import com.oracle.truffle.r.nodes.builtin.RExternalBuiltinNode; import com.oracle.truffle.r.runtime.RError; +import com.oracle.truffle.r.runtime.RRuntime; import com.oracle.truffle.r.runtime.context.RContext; -import com.oracle.truffle.r.runtime.data.RDataFactory; import com.oracle.truffle.r.runtime.data.RExpression; import com.oracle.truffle.r.runtime.data.RLanguage; import com.oracle.truffle.r.runtime.data.RSymbol; -import com.oracle.truffle.r.runtime.nodes.RBaseNode; -import com.oracle.truffle.r.runtime.nodes.RSyntaxConstant; import com.oracle.truffle.r.runtime.nodes.RSyntaxElement; import com.oracle.truffle.r.runtime.nodes.RSyntaxNode; import com.oracle.truffle.r.runtime.nodes.RSyntaxVisitor; @@ -88,6 +86,9 @@ public abstract class D extends RExternalBuiltinNode.Arg2 { @TruffleBoundary protected Object doD(RExpression expr, String var, @Cached("create()") D dNode) { + if (expr.getLength() == 0) { + return RRuntime.DOUBLE_NA; + } return dNode.execute(expr.getDataAt(0), var); } @@ -97,5 +98,4 @@ public abstract class D extends RExternalBuiltinNode.Arg2 { dExpr = Deriv.addParens(dExpr); return RASTUtils.createLanguageElement(dExpr); } - } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SerializeFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SerializeFunctions.java index 7ae7101b3d48e2ebecfa0fdbf1465fe528142778..7ca7bccf0042986e7ca72bf60ec9794c0493d862 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SerializeFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SerializeFunctions.java @@ -135,10 +135,11 @@ public class SerializeFunctions { return doSerializeToConnBase(object, conn, type, RRuntime.LOGICAL_NA, version, refhook); } + @SuppressWarnings("unused") @Specialization protected Object doSerializeToConn(Object object, int conn, byte asciiLogical, int version, Object refhook) { - throw RError.error(this, RError.Message.UNIMPLEMENTED_ARG_TYPE, 4); // [TODO] implement - // "version" support + // TODO: implement "version" support + throw RError.error(this, RError.Message.UNIMPLEMENTED_ARG_TYPE, 4); } } diff --git a/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/castsTests/CastBuilderTest.java b/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/castsTests/CastBuilderTest.java index 7a3a51a35b1df717d12b2d2e22cdfb39ef0be89e..5e36f005deb4d1d0936825c83431b56efab7249a 100644 --- a/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/castsTests/CastBuilderTest.java +++ b/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/castsTests/CastBuilderTest.java @@ -78,8 +78,6 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import com.oracle.truffle.api.RootCallTarget; -import com.oracle.truffle.api.nodes.RootNode; import com.oracle.truffle.r.nodes.builtin.CastBuilder; import com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef; import com.oracle.truffle.r.nodes.builtin.casts.fluent.InitialPhaseBuilder; diff --git a/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/ForwardedValuesAnalyserTest.java b/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/ForwardedValuesAnalyserTest.java index ccaa151114c738a42ee2174ab5a8ab647be51b32..e422add155b3d2649d376645b7674fc56ef37b9b 100644 --- a/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/ForwardedValuesAnalyserTest.java +++ b/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/ForwardedValuesAnalyserTest.java @@ -22,12 +22,6 @@ */ package com.oracle.truffle.r.nodes.test; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.asLogicalVector; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.chain; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.findFirst; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.logicalValue; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.map; -import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.toBoolean; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -36,7 +30,6 @@ import org.junit.Test; import com.oracle.truffle.r.nodes.builtin.casts.Filter.AndFilter; import com.oracle.truffle.r.nodes.builtin.casts.Filter.CompareFilter; import com.oracle.truffle.r.nodes.builtin.casts.Filter.CompareFilter.ScalarValue; -import com.oracle.truffle.r.nodes.builtin.casts.Mapper.MapByteToBoolean; import com.oracle.truffle.r.nodes.builtin.casts.Filter.DoubleFilter; import com.oracle.truffle.r.nodes.builtin.casts.Filter.MissingFilter; import com.oracle.truffle.r.nodes.builtin.casts.Filter.NotFilter; @@ -44,6 +37,7 @@ import com.oracle.truffle.r.nodes.builtin.casts.Filter.NullFilter; import com.oracle.truffle.r.nodes.builtin.casts.Filter.OrFilter; import com.oracle.truffle.r.nodes.builtin.casts.Filter.RTypeFilter; import com.oracle.truffle.r.nodes.builtin.casts.Filter.TypeFilter; +import com.oracle.truffle.r.nodes.builtin.casts.Mapper.MapByteToBoolean; import com.oracle.truffle.r.nodes.builtin.casts.PipelineStep; import com.oracle.truffle.r.nodes.builtin.casts.PipelineStep.CoercionStep; import com.oracle.truffle.r.nodes.builtin.casts.PipelineStep.FilterStep; diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java index 14b6e3611bfc2769dbb2ec357d70c9458be7c45d..86f784db14d7f3602d618515d86f7a03adeb4e91 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java @@ -22,7 +22,6 @@ */ package com.oracle.truffle.r.runtime.ffi; -import com.oracle.truffle.r.runtime.conn.ConnectionSupport.BaseRConnection; import com.oracle.truffle.r.runtime.data.RDoubleVector; import com.oracle.truffle.r.runtime.data.RExternalPtr; import com.oracle.truffle.r.runtime.data.RIntVector; 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 83b6bca2e5c7aa57fa66cfb50c50c58da9eb08a6..2768d468a5af1593725d5387aae8d2f05aedb952 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 @@ -158,6 +158,10 @@ Error in df(0) : argument "df1" is missing, with no default 2 * x * sin(x) + x^2 * cos(x) Error in df(0) : argument "df1" is missing, with no default +##com.oracle.truffle.r.test.builtins.TestBuiltin_D.testD# +#D(expression(), 'a') +[1] NA + ##com.oracle.truffle.r.test.builtins.TestBuiltin_D.testD# #g<-quote(x^2);(df <- D(g, "x"));df(0) 2 * x @@ -17825,7 +17829,7 @@ expression({ .value }) -##com.oracle.truffle.r.test.builtins.TestBuiltin_deriv.testDeriveBasicExpressions2#Ignored.OutputFormatting# +##com.oracle.truffle.r.test.builtins.TestBuiltin_deriv.testDeriveBasicExpressions2# #deriv(~ x^y, c("x","y"), hessian=FALSE) expression({ .expr1 <- x^y diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_D.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_D.java index 6fd2878571ecbc2930acd06ac4419c7daf4aa65e..1310bf7bd97f4c7c74930ba6d35f0cd11a073ba4 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_D.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_D.java @@ -35,6 +35,6 @@ public class TestBuiltin_D extends TestBase { assertEval("g<-quote(x^2);(df <- D(g, \"x\"));df(0)"); assertEval("(df <- D(1, \"x\"));df(0)"); assertEval("x<-1;(df <- D(x, \"x\"));df(0)"); + assertEval("D(expression(), 'a')"); } - } diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asPOSIXlt.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asPOSIXlt.java index 782fe19c2eaf556d676f63f9a936b36cd5bdb3b0..eec124843f68e15f9f428b858505bf64deedb105 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asPOSIXlt.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asPOSIXlt.java @@ -13,7 +13,6 @@ package com.oracle.truffle.r.test.builtins; import org.junit.Test; import com.oracle.truffle.r.test.TestBase; -import com.oracle.truffle.r.test.TestBase.Output; // Checkstyle: stop line length check public class TestBuiltin_asPOSIXlt extends TestBase { diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bitwiseShiftR.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bitwiseShiftR.java index 436951f231dd6b36f1f957129ac5b2089785cf4e..0f441d89da75e23997520e9e2f493ab1385b30ab 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bitwiseShiftR.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bitwiseShiftR.java @@ -13,7 +13,6 @@ package com.oracle.truffle.r.test.builtins; import org.junit.Test; import com.oracle.truffle.r.test.TestBase; -import com.oracle.truffle.r.test.TestBase.Output; // Checkstyle: stop line length check public class TestBuiltin_bitwiseShiftR extends TestBase { diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_classassign.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_classassign.java index 307c2f258cbe3f40911ca15dc30466d18408b609..28e7365e5ad2e4c0eb0e083f59c6d931092d5b3d 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_classassign.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_classassign.java @@ -13,7 +13,6 @@ package com.oracle.truffle.r.test.builtins; import org.junit.Test; import com.oracle.truffle.r.test.TestBase; -import com.oracle.truffle.r.test.TestBase.Output; // Checkstyle: stop line length check public class TestBuiltin_classassign extends TestBase { diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_deriv.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_deriv.java index 13eae8aaf36d8b65cd6a89324b32744c8ea6686c..63dfe59737ee5d9977c9927aad0af263f0c29457 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_deriv.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_deriv.java @@ -131,8 +131,7 @@ public class TestBuiltin_deriv extends TestBase { @Test public void testDeriveFunctions1() { - deriv1("log(x)").derive().eval(0).withHessian().derive(Ignored.OutputFormatting).eval(0).eval(1).eval(Ignored.MissingWarning, - -1); + deriv1("log(x)").derive().eval(0).withHessian().derive(Ignored.OutputFormatting).eval(0).eval(1).eval(Ignored.MissingWarning, -1); assertDerivAndEval1("exp(x)"); assertDerivAndEval1("cos(x)"); assertDerivAndEval1("sin(x)"); @@ -166,25 +165,16 @@ public class TestBuiltin_deriv extends TestBase { assertDerivAndEval2("x + y"); deriv2("x*y").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); deriv2("2*x*y").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); - deriv2("x/y/2").derive(Ignored.OutputFormatting).eval(0, - 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); - deriv2("2/x*y").derive(Ignored.OutputFormatting).eval(0, - 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); - deriv2("x^y").derive(Ignored.OutputFormatting).eval(0, - 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); - deriv2("(x+1)*(y+2)").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, - 0); + deriv2("x/y/2").derive(Ignored.OutputFormatting).eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); + deriv2("2/x*y").derive(Ignored.OutputFormatting).eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); + deriv2("x^y").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); + deriv2("(x+1)*(y+2)").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); assertDerivAndEval2("(x+1)-(y+2)"); - deriv2("-(x+1)+(y+2)").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, - 0); - deriv2("-(x+1)-(y+2)").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, - 0); - deriv2("(x+1)/(y+2)").derive(Ignored.OutputFormatting).eval(0, - 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); - deriv2("(x+1)*(y+2*(x-1))").derive().eval(0, - 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); - deriv2("(x+1)^(y+2)").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, - 0).eval(1, 1); + deriv2("-(x+1)+(y+2)").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); + deriv2("-(x+1)-(y+2)").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); + deriv2("(x+1)/(y+2)").derive(Ignored.OutputFormatting).eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); + deriv2("(x+1)*(y+2*(x-1))").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0); + deriv2("(x+1)^(y+2)").derive().eval(0, 0).withHessian().derive(Ignored.OutputFormatting).eval(0, 0).eval(1, 1); } @Test diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestConnections.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestConnections.java index 16b5b133705b0a2a99cb86e61983b80b95e80c49..7ef2680d0ae797171580762ab2d35dcc2bf21657 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestConnections.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestConnections.java @@ -25,7 +25,6 @@ package com.oracle.truffle.r.test.library.base; import java.io.IOException; import java.io.OutputStream; import java.nio.ByteBuffer; -import java.nio.channels.ByteChannel; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -38,7 +37,6 @@ import org.junit.BeforeClass; import org.junit.Test; import com.oracle.truffle.api.interop.java.JavaInterop; -import com.oracle.truffle.api.vm.PolyglotEngine; import com.oracle.truffle.api.vm.PolyglotEngine.Builder; import com.oracle.truffle.r.runtime.conn.SeekableMemoryByteChannel; import com.oracle.truffle.r.test.TestBase;