private string msName; // Name or label of this rule
#endregion Fields
#region Constructors
/// <summary>
/// Create a new Fuzzy Rule
/// </summary>
/// <param name="rb"></param>
/// <param name="name"></param>
/// <param name="lhsClauses"></param>
/// <param name="rhs"></param>
public FuzzyRule(FuzzyRuleBase rb, string name, FuzzyClause[] lhsClauses, FuzzyClause rhs)
{
moRuleBase = rb;
msName = name;
moRdRefs = new System.Collections.BitArray(Constants.FUZZY_MAXVALUES);
moWrRefs = new System.Collections.BitArray(Constants.FUZZY_MAXVALUES);
mbFiredFlag = false;
moAntecedents = new List<FuzzyClause>(10);
for (int i = 0; i < lhsClauses.Length; i++)
{
moAntecedents.Add(lhsClauses[i]);
}
moConsequent = rhs;
if (moConsequent != null)
{
AddWrReference(moConsequent.LhsReferent);
AddRdReference(moConsequent.RhsReferent);
}
moRuleBase.AddConditionalRule(this); // add self to rule list
}