using uCalcSoftware; var uc = new uCalc(); Console.WriteLine(uc.Error.FloatingPointErrorsToTrap); Console.WriteLine(uc.EvalStr("1/0")); Console.WriteLine(uc.EvalStr("0/0")); Console.WriteLine(uc.EvalStr("5*10^308")); Console.WriteLine(uc.EvalStr("10^-308/10000")); Console.WriteLine("--- Raise Div-by-0 ---"); uc.Error.FloatingPointErrorsToTrap = (int)ErrorCode.FloatDivisionByZero; Console.WriteLine(uc.Error.FloatingPointErrorsToTrap); Console.WriteLine(uc.EvalStr("1/0")); Console.WriteLine(uc.EvalStr("0/0")); Console.WriteLine(uc.EvalStr("5*10^308")); Console.WriteLine(uc.EvalStr("10^-308/10000")); Console.WriteLine("--- Raise overflow ---"); uc.Error.FloatingPointErrorsToTrap = (int)ErrorCode.FloatOverflow; Console.WriteLine(uc.Error.FloatingPointErrorsToTrap); Console.WriteLine(uc.EvalStr("1/0")); Console.WriteLine(uc.EvalStr("0/0")); Console.WriteLine(uc.EvalStr("5*10^308")); Console.WriteLine(uc.EvalStr("10^-308/10000")); Console.WriteLine("--- Raise invalid & underflow ---"); uc.Error.SetFloatingPointErrorsToTrap(ErrorCode.FloatInvalid, ErrorCode.FloatUnderflow); Console.WriteLine(uc.Error.FloatingPointErrorsToTrap); // ErrorCode::FloatInvalid + ErrorCode::FloatUnderflow Console.WriteLine(uc.EvalStr("1/0")); Console.WriteLine(uc.EvalStr("0/0")); Console.WriteLine(uc.EvalStr("5*10^308")); Console.WriteLine(uc.EvalStr("10^-308/10000"));