public FunctionDefinition(string functionName, int parmCount, CalcEngineFunction function) { FunctionName = functionName; ParmMin = parmCount; ParmMax = parmCount; Function = function; }
// ** ctor public FunctionDefinition(string name, int parmMin, int parmMax, CalcEngineFunction function, bool deterministic, bool audited = true) { this.Name = name; this.ParmMin = parmMin; this.ParmMax = parmMax; this.Function = function; this.Deterministic = deterministic; this.Audited = audited; }
/// <summary> /// 向引擎中注册功能 /// </summary> /// <param name="functionName">功能名词,不能重复</param> /// <param name="parmMin">最少参数个数</param> /// <param name="parmMax">最多参数个数,最多int.MaxValue</param> /// <param name="fn"></param> public void RegisterFunction(string functionName, int parmMin, int parmMax, CalcEngineFunction fn) { _fns.Add(functionName, new FunctionDefinition(parmMin, parmMax, fn)); }
/// <summary> /// 向引擎中注册功能 /// </summary> /// <param name="functionName">功能名词,不能重复</param> /// <param name="parmCount">参数个数</param> /// <param name="fn">功能委托</param> public void RegisterFunction(string functionName, int parmCount, CalcEngineFunction fn) { RegisterFunction(functionName, parmCount, parmCount, fn); }
// ** ctor public FunctionDefinition(int parmMin, int parmMax, CalcEngineFunction function) { ParmMin = parmMin; ParmMax = parmMax; Function = function; }
/// <summary> /// Registers a function that can be evaluated by this <see cref="CalcEngine"/>. /// </summary> /// <param name="functionName">Function name.</param> /// <param name="parmCount">Parameter count.</param> /// <param name="fn">Delegate that evaluates the function.</param> public void RegisterFunction(string functionName, int parmCount, CalcEngineFunction fn) { RegisterFunction(functionName, parmCount, parmCount, fn); }
/// <summary> /// Registers a function that can be evaluated by this <see cref="CalcEngine"/>. /// </summary> /// <param name="functionName">Function name.</param> /// <param name="parmMin">Minimum parameter count.</param> /// <param name="parmMax">Maximum parameter count.</param> /// <param name="fn">Delegate that evaluates the function.</param> public void RegisterFunction(string functionName, int parmMin, int parmMax, CalcEngineFunction fn) { _fnTbl.Add(functionName, new FunctionDefinition(parmMin, parmMax, fn)); }
/// <summary> /// Registers a function that can be evaluated by this <see cref="CalcEngine"/>. /// </summary> /// <param name="functionName">Function name.</param> /// <param name="parmMin">Minimum parameter count.</param> /// <param name="parmMax">Maximum parameter count.</param> /// <param name="fn">Delegate that evaluates the function.</param> public void RegisterFunction(string functionName, int parmMin, int parmMax, CalcEngineFunction fn) { RegisterFunction(functionName, parmMin, parmMax, fn, true); }
/// <summary> /// Registers a function that can be evaluated by this <see cref="CalcEngine"/>. /// </summary> /// <param name="functionName">Function name.</param> /// <param name="parmMin">Minimum parameter count.</param> /// <param name="parmMax">Maximum parameter count.</param> /// <param name="fn">Delegate that evaluates the function.</param> /// <param name="deterministic">Given a set of inputs, the function will always return the same output</param> public void RegisterFunction(string functionName, int parmMin, int parmMax, CalcEngineFunction fn, bool deterministic, bool audited = true) { _fnTbl.Add(functionName, new FunctionDefinition(functionName, parmMin, parmMax, fn, deterministic, audited)); }
// ** ctor public FnDef(string name, int parmMin, int parmMax, CalcEngineFunction function) { ParmMin = parmMin; ParmMax = parmMax; Function = function; }