#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   auto variableX = uc.DefineVariable("x");
   auto userExpression = "x * 2 + 5";
   auto Total = 0.0;
   auto UpperBound = 1000000; // One million

   // Parse the expression just once before the loop begins.
   auto parsedExpr = uc.Parse(userExpression );


   for (double x = 1; x <= UpperBound; x++) {
      variableX.Value(x);
      Total = Total + parsedExpr.Evaluate();
   }

   cout << "Sum(1, " << UpperBound << ", " << userExpression << ") = " << (long long)Total;
}