Skip to content

Commit b4856ec

Browse files
committed
new version 3.3.0
1 parent 7310e0c commit b4856ec

File tree

5 files changed

+26
-32
lines changed

5 files changed

+26
-32
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<groupId>com.expression.parser</groupId>
55
<artifactId>com.expression.parser</artifactId>
66
<packaging>jar</packaging>
7-
<version>3.2.0</version>
7+
<version>3.3.0</version>
88
<name>com.expression.parser</name>
99
<description></description>
1010

src/main/java/com/expression/parser/function/ComplexFunction.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -435,11 +435,11 @@ private String nextFunction(final String f) throws CalculatorException {
435435
for (int i = 0; i < f.length(); i++) {
436436
final char character = f.charAt(i);
437437

438-
if (character == '+' || character == '*' || character == '-' || character == '/') {
439-
i = f.length();
440-
} else if (isValidNumericAndCharacter(character)) {
438+
if (isValidNumericAndCharacter(character)) {
441439
result += character;
442-
} else if (character == '^' || character == '.') {
440+
} else if (character == '+' || character == '*' || character == '-' || character == '/') {
441+
i = f.length();
442+
} else if (character == '.' || character == '^') {
443443
result += character;
444444
} else if (character == '(') {
445445
final String new_f = f.substring(i, nextBracket(f) + 1);
@@ -470,13 +470,11 @@ private String nextMinusFunction(final String f) throws CalculatorException {
470470
for (int i = 0; i < f.length(); i++) {
471471
final char character = f.charAt(i);
472472

473-
if (character == '+' || character == '-') {
474-
i = f.length();
475-
} else if (character == '*' || character == '/') {
473+
if (isValidNumericAndCharacter(character)) {
476474
result += character;
477-
} else if (isValidNumericAndCharacter(character)) {
478-
result += character;
479-
} else if (character == '^' || character == '.') {
475+
} else if (character == '+' || character == '-') {
476+
i = f.length();
477+
} else if (character == '*' || character == '/' || character == '.' || character == '^') {
480478
result += character;
481479
} else if (character == '(') {
482480
final String new_f = f.substring(i, nextBracket(f) + 1);

src/main/java/com/expression/parser/function/FunctionX.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -314,11 +314,11 @@ private String nextFunction(final String f_x) throws CalculatorException {
314314
for (int i = 0; i < f_x.length(); i++) {
315315
final char character = f_x.charAt(i);
316316

317-
if (character == '+' || character == '*' || character == '-' || character == '/') {
318-
i = f_x.length();
319-
} else if (isValidNumericAndCharacter(character)) {
317+
if (isValidNumericAndCharacter(character)) {
320318
result += character;
321-
} else if (character == '^' || character == '.') {
319+
} else if (character == '+' || character == '*' || character == '-' || character == '/') {
320+
i = f_x.length();
321+
} else if (character == '.' || character == '^') {
322322
result += character;
323323
} else if (character == '(') {
324324
final String new_f_x = f_x.substring(i, nextBracket(f_x) + 1);
@@ -347,13 +347,11 @@ private String nextMinusFunction(final String f_x) throws CalculatorException {
347347
for (int i = 0; i < f_x.length(); i++) {
348348
final char character = f_x.charAt(i);
349349

350-
if (character == '+' || character == '-') {
351-
i = f_x.length();
352-
} else if (character == '*' || character == '/') {
350+
if (isValidNumericAndCharacter(character)) {
353351
result += character;
354-
} else if (isValidNumericAndCharacter(character)) {
355-
result += character;
356-
} else if (character == '^' || character == '.') {
352+
} else if (character == '+' || character == '-') {
353+
i = f_x.length();
354+
} else if (character == '*' || character == '/' || character == '.' || character == '^') {
357355
result += character;
358356
} else if (character == '(') {
359357
final String new_f_x = f_x.substring(i, nextBracket(f_x) + 1);

src/main/java/com/expression/parser/function/FunctionXs.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -334,11 +334,11 @@ private String nextFunction(final String f) throws CalculatorException {
334334
for (int i = 0; i < f.length(); i++) {
335335
final char character = f.charAt(i);
336336

337-
if (character == '+' || character == '*' || character == '-' || character == '/') {
338-
i = f.length();
339-
} else if (isValidNumericAndCharacter(character)) {
337+
if (isValidNumericAndCharacter(character)) {
340338
result += character;
341-
} else if (character == '^' || character == '.') {
339+
} else if (character == '+' || character == '*' || character == '-' || character == '/') {
340+
i = f.length();
341+
} else if (character == '.' || character == '^') {
342342
result += character;
343343
} else if (character == '(') {
344344
final String new_f = f.substring(i, nextBracket(f) + 1);
@@ -368,13 +368,11 @@ private String nextMinusFunction(final String f) throws CalculatorException {
368368
for (int i = 0; i < f.length(); i++) {
369369
final char character = f.charAt(i);
370370

371-
if (character == '+' || character == '-') {
372-
i = f.length();
373-
} else if (character == '*' || character == '/') {
371+
if (isValidNumericAndCharacter(character)) {
374372
result += character;
375-
} else if (isValidNumericAndCharacter(character)) {
376-
result += character;
377-
} else if (character == '^' || character == '.') {
373+
} else if (character == '+' || character == '-') {
374+
i = f.length();
375+
} else if (character == '*' || character == '/' || character == '.' || character == '^') {
378376
result += character;
379377
} else if (character == '(') {
380378
final String new_f = f.substring(i, nextBracket(f) + 1);

src/test/java/com/expression/parser/SpeedTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public void testTwo() {
2020

2121
final long time1 = System.currentTimeMillis();
2222

23-
for (int i = 0; i < 100000; i++) {
23+
for (int i = 0; i < 1000000; i++) {
2424
Parser.simpleEval(
2525
"6.5*7.8^2.3 + (3.5^3+7/2)^3 -(5*4/(2-3))*4 + 6.5*7.8^2.3 + (3.5^3+7/2)^3 -(5*4/(2-3))*4 + 6.5*7.8^2.3 + (3.5^3+7/2)^3 -(5*4/(2-3))*4 + 6.5*7.8^2.3 + (3.5^3+7/2)^3 -(5*4/(2-3))*4");
2626
}

0 commit comments

Comments
 (0)