From 3c80cf4f62d84381572f4b55a3789f7a0a0d26cc Mon Sep 17 00:00:00 2001 From: Tomas Stupka <tomas.stupka@oracle.com> Date: Tue, 23 Jan 2018 11:31:39 +0100 Subject: [PATCH] fixed complete flag when converting foreign arrays --- .../oracle/truffle/r/runtime/interop/ForeignArray2R.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/interop/ForeignArray2R.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/interop/ForeignArray2R.java index e7a1170553..289be7b8b2 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/interop/ForeignArray2R.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/interop/ForeignArray2R.java @@ -279,7 +279,7 @@ public abstract class ForeignArray2R extends RBaseNode { case BOOLEAN: WriteArray<byte[]> wba = (byte[] array, int resultIdx, int sourceIdx, boolean[] complete) -> { array[resultIdx] = ((Number) arrayData.elements.get(sourceIdx)).byteValue(); - complete[0] &= RRuntime.isNA(array[resultIdx]); + complete[0] &= !RRuntime.isNA(array[resultIdx]); }; byte[] byteArray = new byte[size]; if (dims != null) { @@ -290,7 +290,7 @@ public abstract class ForeignArray2R extends RBaseNode { case DOUBLE: WriteArray<double[]> wda = (array, resultIdx, sourceIdx, complete) -> { array[resultIdx] = ((Number) arrayData.elements.get(sourceIdx)).doubleValue(); - complete[0] &= RRuntime.isNA(array[resultIdx]); + complete[0] &= !RRuntime.isNA(array[resultIdx]); }; double[] doubleArray = new double[size]; if (dims != null) { @@ -301,7 +301,7 @@ public abstract class ForeignArray2R extends RBaseNode { case INTEGER: WriteArray<int[]> wia = (array, resultIdx, sourceIdx, complete) -> { array[resultIdx] = ((Number) arrayData.elements.get(sourceIdx)).intValue(); - complete[0] &= RRuntime.isNA(array[resultIdx]); + complete[0] &= !RRuntime.isNA(array[resultIdx]); }; int[] intArray = new int[size]; if (dims != null) { @@ -312,7 +312,7 @@ public abstract class ForeignArray2R extends RBaseNode { case STRING: WriteArray<String[]> wsa = (array, resultIdx, sourceIdx, complete) -> { array[resultIdx] = String.valueOf(arrayData.elements.get(sourceIdx)); - complete[0] &= RRuntime.isNA(array[resultIdx]); + complete[0] &= !RRuntime.isNA(array[resultIdx]); }; String[] stringArray = new String[size]; if (dims != null) { -- GitLab