From 90880c0a76083f302964c584e718e15dd9072657 Mon Sep 17 00:00:00 2001
From: Zbynek Slajchrt <zbynek.slajchrt@oracle.com>
Date: Mon, 12 Feb 2018 19:57:06 +0100
Subject: [PATCH] A missing spec added

---
 .../truffle/r/nodes/builtin/base/Sprintf.java   | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java
index ebd98fae25..52c05fa2ed 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java
@@ -47,6 +47,7 @@ import com.oracle.truffle.r.runtime.data.RNull;
 import com.oracle.truffle.r.runtime.data.RStringVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractDoubleVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractIntVector;
+import com.oracle.truffle.r.runtime.data.model.RAbstractLogicalVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractStringVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractVector;
 
@@ -175,6 +176,22 @@ public abstract class Sprintf extends RBuiltinNode.Arg2 {
         return RDataFactory.createStringVector(r, RDataFactory.COMPLETE_VECTOR);
     }
 
+    @Specialization(guards = "fmtLengthOne(fmt)")
+    @TruffleBoundary
+    protected RStringVector sprintf(RAbstractStringVector fmt, RAbstractLogicalVector x) {
+        return sprintf(fmt.getDataAt(0), x);
+    }
+
+    @Specialization
+    @TruffleBoundary
+    protected RStringVector sprintf(String fmt, RAbstractLogicalVector x) {
+        String[] r = new String[x.getLength()];
+        for (int k = 0; k < r.length; k++) {
+            r[k] = format(fmt, x.getDataAt(k));
+        }
+        return RDataFactory.createStringVector(r, RDataFactory.COMPLETE_VECTOR);
+    }
+
     @Specialization(guards = "fmtLengthOne(fmt)")
     @TruffleBoundary
     protected RStringVector sprintf(RAbstractStringVector fmt, RAbstractStringVector x) {
-- 
GitLab