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

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   auto MyDbl = uc.DefineVariable("MyDbl = 123.456");
   auto MyStr = uc.DefineVariable("MyStr = 'Hello world!'");
   auto MyCplx = uc.DefineVariable("MyCplx = 3 + 4 * #i");

   cout << uc.EvalStr("MyDbl") << endl;
   cout << uc.EvalStr("MyStr") << endl;
   cout << uc.EvalStr("MyCplx") << endl;

   uc.DataTypeOf("double").Reset(MyDbl.ValueAddr());
   uc.DataTypeOf("string").Reset(MyStr.ValueAddr()); // empty string ""
   uc.DataTypeOf("complex").Reset(MyCplx.ValueAddr());

   cout << uc.EvalStr("MyDbl") << endl;
   cout << uc.EvalStr("MyStr") << endl;
   cout << uc.EvalStr("MyCplx") << endl;


}