Imports System
Imports uCalcSoftware
Public Module Program
   
   Public Sub DoublePositive(ByVal cb As uCalc.Callback)
      '// If input is negative, raise a syntax error.
      If cb.Arg(1) < 0 Then
         cb.Error.Raise(ErrorCode.Syntax_Error)
      End If
      cb.Return(cb.Arg(1) * 2)
   End Sub
   Public Sub Main()
      Dim uc As New uCalc()
      uc.DefineFunction("DoublePositive(x)", AddressOf DoublePositive)
      Console.WriteLine(uc.EvalStr("DoublePositive(10)"))
      Console.WriteLine(uc.EvalStr("DoublePositive(-5)"))
   End Sub
End Module