Skip to content

Commit 454c4e2

Browse files
committed
fixed non-java- features
1 parent 3f904d4 commit 454c4e2

8 files changed

Lines changed: 72 additions & 43 deletions

File tree

maven-central-3-month-data.png

18.3 KB
Loading

src/main/java/com/github/gbenroscience/parser/MathExpression.java

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,50 @@
44
*/
55
package com.github.gbenroscience.parser;
66

7-
import com.github.gbenroscience.util.FunctionManager;
8-
import com.github.gbenroscience.util.Serializer;
9-
import com.github.gbenroscience.util.VariableManager;
10-
import com.github.gbenroscience.interfaces.Savable;
11-
import com.github.gbenroscience.interfaces.Solvable;
127
import java.util.ArrayDeque;
13-
import com.github.gbenroscience.logic.DRG_MODE;
14-
import com.github.gbenroscience.math.Main;
15-
import com.github.gbenroscience.parser.methods.Declarations;
16-
import com.github.gbenroscience.parser.methods.Help;
17-
import com.github.gbenroscience.parser.methods.Method;
18-
19-
import com.github.gbenroscience.math.Maths;
20-
218
import java.util.ArrayList;
229
import java.util.Arrays;
2310
import java.util.Deque;
11+
import java.util.HashMap;
2412
import java.util.InputMismatchException;
2513
import java.util.Iterator;
26-
2714
import java.util.List;
15+
import java.util.Map;
16+
import java.util.Stack;
2817

29-
import static com.github.gbenroscience.parser.Variable.*;
30-
import static com.github.gbenroscience.parser.Number.*;
31-
import static com.github.gbenroscience.parser.Operator.*;
32-
18+
import com.github.gbenroscience.interfaces.Savable;
19+
import com.github.gbenroscience.interfaces.Solvable;
20+
import com.github.gbenroscience.logic.DRG_MODE;
21+
import com.github.gbenroscience.math.Main;
22+
import com.github.gbenroscience.math.Maths;
3323
import com.github.gbenroscience.math.matrix.expressParser.Matrix;
34-
24+
import static com.github.gbenroscience.parser.Number.fastParseDouble;
25+
import static com.github.gbenroscience.parser.Number.isNumber;
26+
import static com.github.gbenroscience.parser.Operator.isAssignmentOperator;
27+
import static com.github.gbenroscience.parser.Operator.isBinaryOperator;
28+
import static com.github.gbenroscience.parser.Operator.isBracket;
29+
import static com.github.gbenroscience.parser.Operator.isComma;
30+
import static com.github.gbenroscience.parser.Operator.isLogicOperator;
31+
import static com.github.gbenroscience.parser.Operator.isOpeningBracket;
32+
import static com.github.gbenroscience.parser.Operator.isUnaryPostOperator;
33+
import static com.github.gbenroscience.parser.Operator.isUnaryPreOperator;
34+
import static com.github.gbenroscience.parser.Operator.validateAll;
3535
import static com.github.gbenroscience.parser.TYPE.ALGEBRAIC_EXPRESSION;
3636
import static com.github.gbenroscience.parser.TYPE.MATRIX;
37+
import static com.github.gbenroscience.parser.TYPE.VECTOR;
38+
import static com.github.gbenroscience.parser.Variable.isVariableString;
3739
import com.github.gbenroscience.parser.benchmarks.GG;
38-
import com.github.gbenroscience.parser.methods.MethodRegistry;
40+
import com.github.gbenroscience.parser.methods.Declarations;
41+
import com.github.gbenroscience.parser.methods.Help;
42+
import com.github.gbenroscience.parser.methods.Method;
43+
import com.github.gbenroscience.parser.methods.MethodRegistry;
3944
import com.github.gbenroscience.parser.turbo.tools.FastCompositeExpression;
40-
import com.github.gbenroscience.parser.turbo.tools.MatrixTurboEvaluator;
41-
import java.util.HashMap;
42-
import java.util.Map;
43-
import java.util.Stack;
44-
import static com.github.gbenroscience.parser.TYPE.VECTOR;
45+
import com.github.gbenroscience.parser.turbo.tools.MatrixTurboEvaluator;
4546
import com.github.gbenroscience.parser.turbo.tools.ScalarTurboEvaluator;
4647
import com.github.gbenroscience.parser.turbo.tools.TurboExpressionEvaluator;
48+
import com.github.gbenroscience.util.FunctionManager;
49+
import com.github.gbenroscience.util.Serializer;
50+
import com.github.gbenroscience.util.VariableManager;
4751

4852
/**
4953
*
@@ -2488,9 +2492,10 @@ public static void main1(String... args) {
24882492
static class Test_Strength_Reduction {
24892493

24902494
public static void main(String... args) {
2491-
System.out.println("=".repeat(80));
2495+
String rpt = STRING.repeat("=", 80);
2496+
System.out.println( rpt );
24922497
System.out.println("SAFE CONSTANT FOLDING WITH STRENGTH REDUCTION");
2493-
System.out.println("=".repeat(80));
2498+
System.out.println(rpt);
24942499

24952500
testConstantFolding();
24962501
testWithVariables();
@@ -2569,9 +2574,10 @@ private static void testComplexExpression() {
25692574
static class Test {
25702575

25712576
public static void main(String... args) {
2572-
System.out.println("=".repeat(80));
2577+
String rpt = STRING.repeat("=", 80);
2578+
System.out.println(rpt);
25732579
System.out.println("POSTFIX EVALUATION ACCURACY TESTS");
2574-
System.out.println("=".repeat(80));
2580+
System.out.println(rpt);
25752581

25762582
// Test 1: Basic arithmetic
25772583
testExpression("2+3", 5.0, "Basic addition");
@@ -2627,9 +2633,9 @@ public static void main(String... args) {
26272633
testExpression("1*1", 1.0, "One multiplication");
26282634
testExpression("5-5", 0.0, "Subtraction to zero");
26292635

2630-
System.out.println("\n" + "=".repeat(80));
2636+
System.out.println("\n" + rpt);
26312637
System.out.println("ACCURACY TEST SUMMARY");
2632-
System.out.println("=".repeat(80));
2638+
System.out.println(rpt);
26332639
}
26342640

26352641
private static void testExpression(String expr, double expected, String description) {

src/main/java/com/github/gbenroscience/parser/STRING.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,20 @@ public static String removeNewLineChar(String input) {
112112
return sb.toString();
113113
}
114114

115+
116+
public static String repeat(String val, int count){
117+
if (val == null) {
118+
return null;
119+
}
120+
if (count <= 0) {
121+
return "";
122+
}
123+
StringBuilder sb = new StringBuilder(val.length() * count);
124+
for (int i = 0; i < count; i++) {
125+
sb.append(val);
126+
}
127+
return sb.toString();
128+
}
115129
//abcdabcde
116130
// 234567
117131
/**

src/main/java/com/github/gbenroscience/parser/benchmarks/TwGMBP.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ private static boolean isRightAssociative(int code) {
5252
}
5353

5454
public static double evaluate(List<String> tokens) {
55-
String[] toks = tokens.toArray(String[]::new);
55+
String[] toks = tokens.toArray(new String[0]);
5656
int[] index = {0};
5757
double result = evaluateExpr(toks, index);
5858
if (index[0] != toks.length) {

src/main/java/com/github/gbenroscience/parser/turbo/examples/MatrixTurbo.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818

1919
import com.github.gbenroscience.parser.MathExpression;
20+
import com.github.gbenroscience.parser.STRING;
2021
import com.github.gbenroscience.util.FunctionManager;
2122
import com.github.gbenroscience.parser.turbo.tools.FastCompositeExpression;
2223

@@ -329,9 +330,10 @@ public static void example9_Limitations() throws Throwable {
329330
}
330331

331332
public static void main(String[] args) throws Throwable {
332-
System.out.println("=".repeat(80));
333+
String rpt = STRING.repeat("=", 80);
334+
System.out.println(rpt);
333335
System.out.println("MATRIX OPERATIONS WITH TURBO MODE");
334-
System.out.println("=".repeat(80));
336+
System.out.println(rpt);
335337

336338
example1_BasicMatrixOps();
337339
example2_MixedOperations();
@@ -343,8 +345,8 @@ public static void main(String[] args) throws Throwable {
343345
example8_RecommendedWorkflow();
344346
example9_Limitations();
345347

346-
System.out.println("\n" + "=".repeat(80));
348+
System.out.println("\n" + rpt);
347349
System.out.println("EXAMPLES COMPLETE");
348-
System.out.println("=".repeat(80));
350+
System.out.println(rpt);
349351
}
350352
}

src/main/java/com/github/gbenroscience/parser/turbo/tools/FlatMatrixTurboBench.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@
2828
public class FlatMatrixTurboBench {
2929

3030
public static void main(String[] args) throws Throwable {
31-
System.out.println("=".repeat(80));
31+
String rpt = STRING.repeat("=", 80);
32+
System.out.println(rpt);
3233
System.out.println("PARSERNG FLAT-ARRAY MATRIX TURBO BENCHMARKS");
33-
System.out.println("=".repeat(80));
34+
System.out.println(rpt);
3435

3536
benchmarkScalar();
3637
benchmarkScalar1();

src/main/java/com/github/gbenroscience/parser/turbo/tools/ScalarTurboBench.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.github.gbenroscience.parser.Function;
1919
import com.github.gbenroscience.parser.MathExpression;
20+
import com.github.gbenroscience.parser.STRING;
2021
import com.github.gbenroscience.util.FunctionManager;
2122
import java.util.Arrays;
2223
import java.util.logging.Level;
@@ -33,9 +34,10 @@ public class ScalarTurboBench {
3334
private static boolean useWidening = true;
3435

3536
public static void main(String[] args) throws Throwable {
36-
System.out.println("=".repeat(80));
37+
String rpt = STRING.repeat("=", 80);
38+
System.out.println(rpt);
3739
System.out.println("SCALAR TURBO COMPILER BENCHMARKS");
38-
System.out.println("=".repeat(80));
40+
System.out.println(rpt);
3941

4042
benchmarkExpressionRotor();
4143
benchmarkPointRotor();
@@ -660,9 +662,11 @@ private static void coldRun(String expr, boolean normalMode) {
660662
}
661663

662664
private static void runVariableStressTest() throws Throwable {
663-
System.out.println("\n" + "=".repeat(40));
665+
String rpt = STRING.repeat("=", 80);
666+
String rptHalf = STRING.repeat("=", 40);
667+
System.out.println("\n" + rpt);
664668
System.out.println("FINDING THE CROSSOVER POINT (WIDENING VS ARRAY)");
665-
System.out.println("=".repeat(40));
669+
System.out.println(rptHalf);
666670

667671
for (int varCount = 1; varCount <= 40; varCount++) {
668672
// Create a simple sum expression: x0 + x1 + x2 ... + xN

src/main/java/com/github/gbenroscience/util/ConsoleTable.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.github.gbenroscience.util;
1717

18+
import com.github.gbenroscience.parser.STRING;
19+
1820
/**
1921
*
2022
* @author GBEMIRO
@@ -47,7 +49,7 @@ private void calculateWidths() {
4749
private void printDivider() {
4850
StringBuilder sb = new StringBuilder("+");
4951
for (int width : columnWidths) {
50-
sb.append("-".repeat(width + 2)).append("+");
52+
sb.append(STRING.repeat("-", width + 2)).append("+");
5153
}
5254
System.out.println(sb.toString());
5355
}

0 commit comments

Comments
 (0)