From 43d38645a527aff10f585a01f62313cbd840014e Mon Sep 17 00:00:00 2001 From: Timerix22 Date: Tue, 26 Dec 2023 00:28:46 +0600 Subject: [PATCH] fixed bugs --- src/Expressions/OperatorExpression.fu | 21 +++++++++++++++------ src/MainClass.fu | 7 ++++--- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/Expressions/OperatorExpression.fu b/src/Expressions/OperatorExpression.fu index 25c3f0b..e31c3bc 100644 --- a/src/Expressions/OperatorExpression.fu +++ b/src/Expressions/OperatorExpression.fu @@ -29,17 +29,26 @@ class OperatorExpressionDiv : OperatorExpression { } class OperatorExpressionMod : OperatorExpression { - // returns if b>0 then returns a%b else returns a internal override double OperatorImplementation(double a, double b) { - if(b <= 0) + if(a == 0) + return b; + if(b == 0) return a; if(a > 0){ - while(a >= b) - a -= b; + if(b > 0) + while(a-b >= 0) + a -= b; + else + while(a+b >= 0) + a += b; } else { - while(a <= b) - a += b; + if(b > 0) + while(a+b <= 0) + a += b; + else + while(a-b <= 0) + a -= b; } return a; } diff --git a/src/MainClass.fu b/src/MainClass.fu index 0cfb8f0..d71f2fb 100644 --- a/src/MainClass.fu +++ b/src/MainClass.fu @@ -2,14 +2,15 @@ public static class MainClass { public static void Main(string[] args){ #if CS native { - System.Globalization.CultureInfo.DefaultThreadCurrentCulture = System.Globalization.CultureInfo.InvariantCulture; + System.Globalization.CultureInfo.DefaultThreadCurrentCulture = + System.Globalization.CultureInfo.InvariantCulture; } #endif string() joined = ""; foreach(string arg in args){ joined += arg + " "; } - double rezult = Calculator.Calculate(joined); - Console.WriteLine(rezult); + double result = Calculator.Calculate(joined); + Console.WriteLine(result); } }