aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/population/Output.java
diff options
context:
space:
mode:
authorEduardo Pedroni <ep625@york.ac.uk>2014-02-13 22:41:26 +0000
committerEduardo Pedroni <ep625@york.ac.uk>2014-02-13 22:41:26 +0000
commit6419b69faeb4736db1ccb50cfa5a030f9aa818aa (patch)
treeca424a5ea85abf044cd4b22c3c43608163ae5f74 /src/jcgp/population/Output.java
parent3326c58f4d2d7e8c77738277dcd093aa864ad2a5 (diff)
Added methods in Chromosome to compare active and all nodes. Associated tests also written.
Diffstat (limited to 'src/jcgp/population/Output.java')
-rw-r--r--src/jcgp/population/Output.java30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/jcgp/population/Output.java b/src/jcgp/population/Output.java
index 0171d7b..f0bcbbf 100644
--- a/src/jcgp/population/Output.java
+++ b/src/jcgp/population/Output.java
@@ -31,7 +31,33 @@ public class Output implements MutableElement {
return source;
}
- public void getActiveNodes(ArrayList<Connection> activeNodes) {
- source.getActive(activeNodes);
+ public void getActiveNodes(ArrayList<Node> activeNodes) {
+ if (source instanceof Node) {
+ ((Node) source).getActive(activeNodes);
+ }
+ }
+
+ @Override
+ public boolean copyOf(MutableElement m) {
+ if (this != m) {
+ if (m instanceof Output) {
+ Output o = (Output) m;
+ if (index == o.getIndex()) {
+ if (source != o.getSource()) {
+ if (source instanceof Input && o.getSource() instanceof Input) {
+ if (((Input) source).getIndex() == ((Input) o.getSource()).getIndex()) {
+ return true;
+ }
+ } else if (source instanceof Node && o.getSource() instanceof Node) {
+ if (((Node) source).getRow() == ((Node) o.getSource()).getRow() &&
+ ((Node) source).getColumn() == ((Node) o.getSource()).getColumn()) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
}
}