public override object Invoke(object result, object input) { var i = new VSwapǃ(this._iv, funclib.Core.inc).Invoke(); if ((bool)funclib.Core.IsZero(funclib.Core.Rem(i, this._n))) { return(funclib.Core.Invoke(this._rf, result, input)); } return(result); }
public override object Invoke(object result, object input) { var n = this._nv.Deref(); var nn = new VSwapǃ(this._nv, new Dec()).Invoke(); result = (bool)funclib.Core.IsPos(n) ? funclib.Core.Invoke(this._rf, result, input) : result; if ((bool)funclib.Core.Not(funclib.Core.IsPos(nn))) { return(funclib.Core.EnsureReduced(result)); } return(result); }