/// <summary> /// Generalized And Operator /// </summary> /// <param name="d1"></param> /// <param name="d2"></param> /// <returns></returns> private double AndOp(double d1, double d2) { switch (_andOp) { case FISOperatorAnd.FISOpAnd_Min: return(FISOperators.Min(d1, d2)); case FISOperatorAnd.FISOpAnd_Product: return(FISOperators.Product(d1, d2)); default: throw new ArgumentException("Invalid operator"); } }
/// <summary> /// Generalized Implicator /// </summary> /// <param name="inMf"></param> /// <param name="outMf"></param> /// <param name="n"></param> /// <param name="weight"></param> public MemberFunction ImplicatorOp(MemberFunction inMf, double n, double weight) { switch (_implicator) { case FISImplicator.FISImp_Min: return(FISOperators.ImpMin(inMf, n, weight)); case FISImplicator.FISImp_Product: return(FISOperators.ImpProduct(inMf, n, weight)); default: throw new ArgumentException("Invalid operator"); } }
/// <summary> /// Generalized Or Operator /// </summary> /// <param name="d1"></param> /// <param name="d2"></param> /// <returns></returns> private double OrOp(double d1, double d2) { switch (_orOp) { case FISOperatorOr.FISOpOr_Max: return(FISOperators.Max(d1, d2)); case FISOperatorOr.FISOpOr_Probor: return(FISOperators.ProbOr(d1, d2)); default: throw new ArgumentException("Invalid operator"); } }
/// <summary> /// Generalized Aggregator /// </summary> /// <param name="inMf"></param> /// <param name="outMf"></param> private void AggregatorOp(MemberFunction inMf, MemberFunction outMf) { switch (_aggregator) { case FISAggregator.FISAgg_Max: FISOperators.AggMax(inMf, outMf); break; //case FISAggregator.FISAgg_Probor: // FISOperators.AggProbor(inMf, outMf); // break; case FISAggregator.FISAgg_Sum: default: throw new ArgumentException("Invalid operator"); } }