/// <summary> /// Determines node equality by comparing the class, associated tree, and /// function name of the nodes. /// </summary> public override bool NodeEquals(GPNode node) { if (!GetType().Equals(node.GetType()) || Children.Length != node.Children.Length) { return(false); } var adf = (ADF)node; return(AssociatedTree == adf.AssociatedTree && FunctionName.Equals(adf.FunctionName)); }
public override bool NodeEquals(GPNode node) { // check first to see if we're the same kind of ERC -- // won't work for subclasses; in that case you'll need // to change this to isAssignableTo(...) if (GetType() != node.GetType()) { return(false); } // now check to see if the ERCs hold the same value return(((RegERC)node).value == value); }
public override bool NodeEquals(GPNode node) { return(node.GetType() == this.GetType() && ((ParameterSimple)node).paramIndex == paramIndex); }
public override bool NodeEquals(GPNode node) { return(node.GetType() == this.GetType() && ((ConstantValueNode)node).value == value); }
public override bool NodeEquals(GPNode node) { return(node.GetType() == this.GetType() && ((MorphNode)node).morphType == morphType); }
public override bool NodeEquals(GPNode node) { return(node.GetType() == this.GetType() && ((BoolTerminalNode)node).value == value); }
public override bool NodeEquals(GPNode node) { return(node.GetType() == this.GetType() && ((RangeERC)node).value == value); }
public override bool NodeEquals(GPNode node) { return(node.GetType() == this.GetType() && ((LabelNode)node).labelIndex == labelIndex); }