/// <inheritdoc/> public virtual void Check() { _longHashCode = LongHashCodeWeights.BaseOperatorWeight ^ (ulong)Math.Abs(Kind.GetHashCode()); var sysDeffuzificatedValue = Defuzzificator.Defuzzificate(_kindOfDefuzzification, _a, _b, (double x) => SystemCall(x)); _deffuzificatedValue = new NumberValue(sysDeffuzificatedValue); }
/// <inheritdoc/> public NumberValue Defuzzificate(IEnumerable <IFuzzyLogicOperatorHandler> operatorHandlers) { var sysDeffuzificatedValue = Defuzzificator.Defuzzificate(_kindOfDefuzzification, _a, _b, (double x) => { var result = SystemCall(x); foreach (var op in operatorHandlers) { result = op.SystemCall(result); } return(result); }); return(new NumberValue(sysDeffuzificatedValue)); }