diff options
Diffstat (limited to 'src/jcgp/backend/modules/problem/DigitalCircuitProblem.java')
-rw-r--r-- | src/jcgp/backend/modules/problem/DigitalCircuitProblem.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java b/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java index e2f17c3..ff77a0d 100644 --- a/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java +++ b/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java @@ -31,9 +31,9 @@ public class DigitalCircuitProblem extends TestCaseProblem<UnsignedInteger> { } @Override - public void evaluate(Population population, Resources resources) { + public void evaluate(Population population) { // for every chromosome in the population - for (int i = 0; i < resources.populationSize(); i++) { + for (int i = 0; i < getResources().populationSize(); i++) { // assume an initial fitness of 0 int fitness = 0; @@ -41,13 +41,13 @@ public class DigitalCircuitProblem extends TestCaseProblem<UnsignedInteger> { for (int t = 0; t < testCases.size(); t++) { population.get(i).setInputs((Object[]) testCases.get(t).getInputs()); // check each output - for (int o = 0; o < resources.outputs(); o++) { + for (int o = 0; o < getResources().outputs(); o++) { Integer output = ((UnsignedInteger) population.get(i).getOutput(o).calculate()).get(); - Integer matches = ~(output ^ testCases.get(t).getOutput(o).get()); + Integer matches = ~(output ^ testCases.get(t).getOutputs()[o].get()); // check only the relevant bits int bits; - if (resources.inputs() < 5) { - bits = (int) Math.pow(2.0, (double) resources.inputs()); + if (getResources().inputs() < 5) { + bits = (int) Math.pow(2.0, (double) getResources().inputs()); } else { bits = 32; } |