#include #include "uCalc.h" using namespace std; using namespace uCalcSoftware; void ucalc_call MyAverage(uCalcBase::Callback cb) { double Total = 0; for (int x = 1; x <= cb.ArgCount(); x++) { Total = Total + cb.Arg(x); } cb.Return(Total / cb.ArgCount()); } int main() { uCalc uc; auto MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}"); auto MyArrayB = uc.DefineVariable("MyArrayB[15]"); auto FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z"); auto FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b"); auto FunctionC = uc.DefineFunction("FuncC(x, y ...)", MyAverage); auto FunctionD = uc.DefineFunction("FuncD() = 1+1"); cout << "Elements in MyArrayA: " << MyArrayA.Count() << endl; cout << "Elements in MyArrayB: " << MyArrayB.Count() << endl; cout << "Params in FuncA(): " << FunctionA.Count() << endl; cout << "Params in FuncB(): " << FunctionB.Count() << endl; cout << "Params in FuncC(): " << FunctionC.Count() << endl; // -1 or 2^n-1 (n=32 or 64) cout << "Params in FuncD(): " << FunctionD.Count() << endl; cout << "Operands in ! operator: " << uc.ItemOf("!").Count() << endl; cout << "Operands in > operator: " << uc.ItemOf(">").Count() << endl; }