using uCalcSoftware;

var uc = new uCalc();
var x_var = uc.DefineVariable("x");
var i = 0;

// --- Inefficient Way ---
Console.WriteLine("--- Inefficient: Eval() in a loop ---");
for ( i = 1; i <= 3; i++) {
   x_var.Value(i);
   Console.WriteLine(uc.Eval("x * x + 2"));
}

Console.WriteLine("");

// --- High-Performance Way ---
Console.WriteLine("--- Efficient: Parse() once, Evaluate() in a loop ---");
// Parse outside the loop
var expr = uc.Parse("x * x + 2");
for ( i = 1; i <= 3; i++) {
   x_var.Value(i);
   // Evaluate the pre-parsed object
   Console.WriteLine(expr.Evaluate());
}