Skip to content

Commit

Permalink
Fixed compilation of variable with exponentiation (x^y). (#60)
Browse files Browse the repository at this point in the history
  • Loading branch information
AntonovAnton authored Sep 8, 2024
1 parent 161f684 commit 0b51d83
Show file tree
Hide file tree
Showing 23 changed files with 270 additions and 229 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,27 @@ BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.4112/23H2/2023Update/SunValley3
```
| Method | Job | Runtime | Mean | Error | StdDev | Gen0 | Gen1 | Allocated |
|----------------------------------------------------------------------------- |--------- |--------- |---------------:|--------------:|--------------:|-------:|-------:|----------:|
| 'MathEvaluator: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 6.0 | .NET 6.0 | 19,668.553 ns | 204.5820 ns | 191.3662 ns | 0.4578 | 0.2136 | 5911 B |
| 'NCalc: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 6.0 | .NET 6.0 | 37,953.247 ns | 719.2059 ns | 799.3955 ns | 0.6714 | 0.3052 | 8919 B |
| 'MathEvaluator: "true or not false and (true or false)"' | .NET 6.0 | .NET 6.0 | 25,445.280 ns | 499.2615 ns | 747.2711 ns | 0.5188 | 0.2441 | 6616 B |
| 'NCalc: "true or not false and (true or false)"' | .NET 6.0 | .NET 6.0 | 26,285.186 ns | 458.1359 ns | 428.5406 ns | 0.3967 | 0.1831 | 5215 B |
| 'MathEvaluator: "A or not B and (C or B)"' | .NET 6.0 | .NET 6.0 | 101,364.960 ns | 1,289.0462 ns | 1,205.7747 ns | 0.6104 | 0.2441 | 8829 B |
| 'NCalc: "A or not B and (C or B)"' | .NET 6.0 | .NET 6.0 | 86,156.691 ns | 1,696.4321 ns | 2,590.6310 ns | 0.4883 | 0.2441 | 6662 B |
| 'MathEvaluator: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 6.0 | .NET 6.0 | 4.439 ns | 0.1074 ns | 0.1149 ns | 0.0019 | - | 24 B |
| 'NCalc: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 6.0 | .NET 6.0 | 3.948 ns | 0.0853 ns | 0.0797 ns | 0.0019 | - | 24 B |
| 'MathEvaluator: "Sin(pi/6) + Cos(pi/3)"' | .NET 6.0 | .NET 6.0 | 78,774.799 ns | 1,570.0480 ns | 1,928.1599 ns | 0.3662 | 0.1221 | 5707 B |
| 'NCalc: "Sin(pi/6) + Cos(pi/3)"' | .NET 6.0 | .NET 6.0 | 38,431.629 ns | 713.3424 ns | 667.2609 ns | 0.6104 | 0.3052 | 8063 B |
| 'MathEvaluator: "Sin(a) + Cos(b)"' | .NET 6.0 | .NET 6.0 | 94,092.406 ns | 1,747.6752 ns | 1,549.2685 ns | 0.4883 | 0.2441 | 6901 B |
| 'NCalc: "Sin(a) + Cos(b)"' | .NET 6.0 | .NET 6.0 | 66,611.758 ns | 658.3745 ns | 549.7725 ns | 0.6104 | 0.2441 | 8510 B |
| 'MathEvaluator: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 8.0 | .NET 8.0 | 17,026.691 ns | 123.5845 ns | 103.1987 ns | 0.4578 | 0.4272 | 5911 B |
| 'NCalc: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 8.0 | .NET 8.0 | 28,883.652 ns | 227.8088 ns | 213.0925 ns | 0.6104 | 0.4883 | 8231 B |
| 'MathEvaluator: "true or not false and (true or false)"' | .NET 8.0 | .NET 8.0 | 20,015.723 ns | 213.0026 ns | 199.2428 ns | 0.4883 | 0.4272 | 6662 B |
| 'NCalc: "true or not false and (true or false)"' | .NET 8.0 | .NET 8.0 | 21,397.180 ns | 395.6863 ns | 370.1252 ns | 0.3967 | 0.3662 | 5263 B |
| 'MathEvaluator: "A or not B and (C or B)"' | .NET 8.0 | .NET 8.0 | 89,618.867 ns | 772.9309 ns | 723.0001 ns | 0.4883 | 0.2441 | 8873 B |
| 'NCalc: "A or not B and (C or B)"' | .NET 8.0 | .NET 8.0 | 73,845.091 ns | 631.9701 ns | 591.1452 ns | 0.4883 | 0.3662 | 6790 B |
| 'MathEvaluator: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 8.0 | .NET 8.0 | 3.200 ns | 0.0274 ns | 0.0243 ns | 0.0019 | - | 24 B |
| 'NCalc: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 8.0 | .NET 8.0 | 3.387 ns | 0.0715 ns | 0.0634 ns | 0.0019 | - | 24 B |
| 'MathEvaluator: "Sin(pi/6) + Cos(pi/3)"' | .NET 8.0 | .NET 8.0 | 97,413.757 ns | 425.0299 ns | 397.5732 ns | 0.3662 | 0.2441 | 5707 B |
| 'NCalc: "Sin(pi/6) + Cos(pi/3)"' | .NET 8.0 | .NET 8.0 | 31,470.244 ns | 311.8249 ns | 276.4246 ns | 0.6104 | 0.4883 | 7967 B |
| 'MathEvaluator: "Sin(a) + Cos(b)"' | .NET 8.0 | .NET 8.0 | 111,472.478 ns | 567.4603 ns | 503.0388 ns | 0.4883 | 0.2441 | 6902 B |
| 'NCalc: "Sin(a) + Cos(b)"' | .NET 8.0 | .NET 8.0 | 57,966.899 ns | 376.2988 ns | 314.2265 ns | 0.6104 | 0.4883 | 8510 B |
| 'MathEvaluator: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 6.0 | .NET 6.0 | 19,959.936 ns | 398.2559 ns | 353.0435 ns | 0.4578 | 0.2136 | 5911 B |
| 'NCalc: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 6.0 | .NET 6.0 | 36,077.338 ns | 600.2674 ns | 561.4905 ns | 0.6714 | 0.3052 | 8919 B |
| 'MathEvaluator: "true or not false and (true or false)"' | .NET 6.0 | .NET 6.0 | 24,240.317 ns | 476.7464 ns | 445.9489 ns | 0.5188 | 0.2441 | 6616 B |
| 'NCalc: "true or not false and (true or false)"' | .NET 6.0 | .NET 6.0 | 25,856.245 ns | 205.9693 ns | 182.5865 ns | 0.3967 | 0.1831 | 5215 B |
| 'MathEvaluator: "A or not B and (C or B)"' | .NET 6.0 | .NET 6.0 | 98,030.027 ns | 697.8857 ns | 618.6575 ns | 0.6104 | 0.2441 | 8829 B |
| 'NCalc: "A or not B and (C or B)"' | .NET 6.0 | .NET 6.0 | 82,356.410 ns | 1,093.3762 ns | 1,022.7447 ns | 0.4883 | 0.2441 | 6662 B |
| 'MathEvaluator: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 6.0 | .NET 6.0 | 4.134 ns | 0.0377 ns | 0.0352 ns | 0.0019 | - | 24 B |
| 'NCalc: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 6.0 | .NET 6.0 | 3.681 ns | 0.0259 ns | 0.0216 ns | 0.0019 | - | 24 B |
| 'MathEvaluator: "Sin(pi/6) + Cos(pi/3)"' | .NET 6.0 | .NET 6.0 | 75,715.492 ns | 1,103.8160 ns | 1,032.5102 ns | 0.3662 | 0.1221 | 5707 B |
| 'NCalc: "Sin(pi/6) + Cos(pi/3)"' | .NET 6.0 | .NET 6.0 | 36,853.378 ns | 161.9074 ns | 151.4483 ns | 0.6104 | 0.3052 | 8063 B |
| 'MathEvaluator: "Sin(a) + Cos(b)"' | .NET 6.0 | .NET 6.0 | 92,095.243 ns | 464.2458 ns | 387.6663 ns | 0.4883 | 0.2441 | 6901 B |
| 'NCalc: "Sin(a) + Cos(b)"' | .NET 6.0 | .NET 6.0 | 66,622.287 ns | 717.6596 ns | 636.1865 ns | 0.6104 | 0.2441 | 8510 B |
| 'MathEvaluator: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 8.0 | .NET 8.0 | 17,895.342 ns | 161.2193 ns | 150.8047 ns | 0.4578 | 0.4272 | 5911 B |
| 'NCalc: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 8.0 | .NET 8.0 | 29,967.506 ns | 197.6627 ns | 184.8939 ns | 0.6104 | 0.4883 | 8231 B |
| 'MathEvaluator: "true or not false and (true or false)"' | .NET 8.0 | .NET 8.0 | 20,550.904 ns | 160.1718 ns | 141.9881 ns | 0.4883 | 0.4272 | 6662 B |
| 'NCalc: "true or not false and (true or false)"' | .NET 8.0 | .NET 8.0 | 21,895.307 ns | 426.7413 ns | 399.1741 ns | 0.3967 | 0.3662 | 5263 B |
| 'MathEvaluator: "A or not B and (C or B)"' | .NET 8.0 | .NET 8.0 | 93,004.774 ns | 921.0943 ns | 861.5922 ns | 0.4883 | 0.2441 | 8873 B |
| 'NCalc: "A or not B and (C or B)"' | .NET 8.0 | .NET 8.0 | 76,588.903 ns | 403.0938 ns | 377.0542 ns | 0.4883 | 0.2441 | 6710 B |
| 'MathEvaluator: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 8.0 | .NET 8.0 | 3.209 ns | 0.0315 ns | 0.0294 ns | 0.0019 | - | 24 B |
| 'NCalc: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 8.0 | .NET 8.0 | 3.325 ns | 0.0298 ns | 0.0264 ns | 0.0019 | - | 24 B |
| 'MathEvaluator: "Sin(pi/6) + Cos(pi/3)"' | .NET 8.0 | .NET 8.0 | 98,711.475 ns | 1,045.8360 ns | 927.1064 ns | 0.2441 | - | 5701 B |
| 'NCalc: "Sin(pi/6) + Cos(pi/3)"' | .NET 8.0 | .NET 8.0 | 32,097.432 ns | 173.8600 ns | 154.1224 ns | 0.6104 | 0.4883 | 7967 B |
| 'MathEvaluator: "Sin(a) + Cos(b)"' | .NET 8.0 | .NET 8.0 | 112,895.921 ns | 776.2890 ns | 726.1412 ns | 0.4883 | 0.2441 | 6902 B |
| 'NCalc: "Sin(a) + Cos(b)"' | .NET 8.0 | .NET 8.0 | 58,549.463 ns | 322.8634 ns | 286.2100 ns | 0.6104 | 0.4883 | 8510 B |
Loading

0 comments on commit 0b51d83

Please sign in to comment.