diff options
author | Eduardo Pedroni <ep625@york.ac.uk> | 2014-02-13 22:41:26 +0000 |
---|---|---|
committer | Eduardo Pedroni <ep625@york.ac.uk> | 2014-02-13 22:41:26 +0000 |
commit | 6419b69faeb4736db1ccb50cfa5a030f9aa818aa (patch) | |
tree | ca424a5ea85abf044cd4b22c3c43608163ae5f74 /src/jcgp/population/Output.java | |
parent | 3326c58f4d2d7e8c77738277dcd093aa864ad2a5 (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.java | 30 |
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; } } |