#include #include "uCalc.h" using namespace std; using namespace uCalcSoftware; void ucalc_call BooleanAnd(uCalcBase::Callback cb) { cb.ReturnBool(cb.ArgBool(1) && cb.ArgBool(2)); } void ucalc_call AddInt16(uCalcBase::Callback cb) { cb.ReturnInt16(cb.ArgInt16(1) + cb.ArgInt16(2)); } void ucalc_call AddInt32(uCalcBase::Callback cb) { cb.ReturnInt32(cb.ArgInt32(1) + cb.ArgInt32(2)); } void ucalc_call AddInt64(uCalcBase::Callback cb) { cb.ReturnInt64(cb.ArgInt64(1) + cb.ArgInt64(2)); } int main() { uCalc uc; uc.DefineFunction("BooleanAnd(x As Bool, y As Bool) As Bool", BooleanAnd); uc.DefineFunction("AddInt16(x As Int16, y As Int16) As Int16", AddInt16); uc.DefineFunction("AddInt32(x As Int32, y As Int32) As Int32", AddInt32); uc.DefineFunction("AddInt64(x As Int64, y As Int64) As Int64", AddInt64); cout << uc.EvalStr("BooleanAnd(true, false)") << endl; cout << uc.EvalStr("AddInt16(5.2, 4.1)") << endl; cout << uc.EvalStr("AddInt32(2, 3)") << endl; cout << uc.EvalStr("AddInt64(10, 20)") << endl; }