Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      '// Combine all flags using integer values (or bitwise OR on enums)
      Dim allFlags = 2 Or 4 Or 8 Or 16 '// Underflow, Overflow, DivByZero, Invalid
      uc.Error.FloatingPointErrorsToTrap = allFlags
      Console.WriteLine($"All flags set: {uc.Error.FloatingPointErrorsToTrap}")
      
      '// Test all conditions
      Console.WriteLine($"Underflow: {uc.EvalStr("1e-320")}")
      Console.WriteLine($"Overflow: {uc.EvalStr("1e320")}")
      Console.WriteLine($"DivByZero: {uc.EvalStr("1/0")}")
      Console.WriteLine($"Invalid: {uc.EvalStr("0/0")}")
      
      '// Clear all flags
      uc.Error.FloatingPointErrorsToTrap = 0
      Console.WriteLine("")
      Console.WriteLine($"All flags cleared: {uc.Error.FloatingPointErrorsToTrap}")
      
      '// Verify they are cleared
      Console.WriteLine($"Underflow: {uc.EvalStr("1e-320")}")
      Console.WriteLine($"Overflow: {uc.EvalStr("1e320")}")
      Console.WriteLine($"DivByZero: {uc.EvalStr("1/0")}")
      Console.WriteLine($"Invalid: {uc.EvalStr("0/0")}")
   End Sub
End Module