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

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;

   uc.DefineVariable("MyVar = 100");
   uc.DefineFunction("MyFunc(x) = x + 1");

   auto Cloned_uc = uc.Clone();

   cout << uc.EvalStr("MyVar") << endl;
   cout << uc.EvalStr("MyFunc(10)") << endl;

   cout << Cloned_uc.EvalStr("MyVar") << endl;
   cout << Cloned_uc.EvalStr("MyFunc(10)") << endl;

   Cloned_uc.Eval("MyVar = 200");
   Cloned_uc.DefineFunction("OtherFunc(x) = x * 10");

   cout << uc.EvalStr("MyVar") << endl;
   cout << uc.EvalStr("OtherFunc(5)") << endl;

   cout << Cloned_uc.EvalStr("MyVar") << endl;
   cout << Cloned_uc.EvalStr("OtherFunc(5)") << endl;
}