This is an automated email from the ASF dual-hosted git repository.

markd pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit 81b806835ba198fd94cc6d512990b883c7995c4e
Author: Mark Dokter <[email protected]>
AuthorDate: Fri Feb 5 02:09:27 2021 +0100

    [MINOR] Better codegen source debug print with line numbers
---
 .../apache/sysds/runtime/codegen/CodegenUtils.java | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/src/main/java/org/apache/sysds/runtime/codegen/CodegenUtils.java 
b/src/main/java/org/apache/sysds/runtime/codegen/CodegenUtils.java
index d8d3d2b..d8dfec5 100644
--- a/src/main/java/org/apache/sysds/runtime/codegen/CodegenUtils.java
+++ b/src/main/java/org/apache/sysds/runtime/codegen/CodegenUtils.java
@@ -28,6 +28,7 @@ import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map.Entry;
+import java.util.Scanner;
 import java.util.concurrent.ConcurrentHashMap;
 
 import javax.tools.Diagnostic;
@@ -315,4 +316,41 @@ public class CodegenUtils
                LocalFileUtils.createLocalFileIfNotExist(tmp);
                _workingDir = tmp;
        }
+
+       /**
+        * <p>Extension of org.apache.commons.lang.StringUtils
+        * to account for negatives and decimals.</p>
+        *
+        * @param str  the String to check, may be null
+        * @return <code>true</code> if only contains digits,-,., and is 
non-null
+        */
+       public static boolean isNumeric(String str) {
+               if (str == null) {
+                       return false;
+               }
+               int sz = str.length();
+               for (int i = 0; i < sz; i++) {
+                       if (!Character.isDigit(str.charAt(i))) {
+                               if((str.charAt(i) == '-') && (i == 0))
+                                       continue;
+//                             if((str.charAt(i) == '.') && (sz > 1))
+//                                     continue;
+                               return false;
+                       }
+               }
+               return true;
+       }
+
+       public static String printWithLineNumber(String src) {
+               StringBuilder sb = new StringBuilder();
+               sb.append("\n");
+               Scanner scanner = new Scanner(src);
+               int line_count  = 0;
+               while (scanner.hasNextLine()) {
+                       String line = scanner.nextLine();
+                       sb.append(line_count++ + ": " + line + 
System.lineSeparator());
+               }
+               scanner.close();
+               return sb.toString();
+       }
 }

Reply via email to