diff options
author | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-01 23:00:53 +0100 |
---|---|---|
committer | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-01 23:00:53 +0100 |
commit | 02fd2bc7059da416937beb1abe67e5ca60379030 (patch) | |
tree | 609341fe10aaa0f2dc45a1e72eba20bd24fb1281 /src/jcgp/function/BitwiseLogic.java | |
parent | a757deacded0d7357a9f68462d3f2051e16004ee (diff) |
Settings pane now actually controls the parameters, not much left to do.
Diffstat (limited to 'src/jcgp/function/BitwiseLogic.java')
-rw-r--r-- | src/jcgp/function/BitwiseLogic.java | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/src/jcgp/function/BitwiseLogic.java b/src/jcgp/function/BitwiseLogic.java deleted file mode 100644 index 7ced8e8..0000000 --- a/src/jcgp/function/BitwiseLogic.java +++ /dev/null @@ -1,215 +0,0 @@ -package jcgp.function; - -import java.util.ArrayList; -import java.util.Arrays; - -import jcgp.exceptions.InvalidArgumentsException; -import jcgp.population.Connection; - -public class BitwiseLogic extends FunctionSet { - - public BitwiseLogic() { - name = "32-bit Logic"; - functionList = new Function[]{ - new And(), - new Or(), - new Not(), - new Xor(), - new Nand(), - new Nor(), - new Xnor()}; - - allowedFunctions = new ArrayList<Function>(Arrays.asList(functionList)); - } - - public static class And extends Function { - private int arity = 2; - - @Override - public Object run(Connection... connections) { - if (connections.length < arity) { - throw new InvalidArgumentsException("Not enough connections were given."); - } else { - int arg1 = ((int) connections[0].getValue()); - int arg2 = ((int) connections[1].getValue()); - int result = arg1 & arg2; - - return result; - } - } - - @Override - public int getArity() { - return arity; - } - - @Override - public String getName() { - return "AND"; - } - } - - public static class Or extends Function { - private int arity = 2; - - @Override - public Object run(Connection... connections) { - if (connections.length < arity) { - throw new InvalidArgumentsException("Not enough connections were given."); - } else { - int arg1 = ((int) connections[0].getValue()); - int arg2 = ((int) connections[1].getValue()); - int result = arg1 | arg2; - - return result; - } - } - - @Override - public int getArity() { - return arity; - } - - @Override - public String getName() { - return "OR"; - } - } - - public static class Not extends Function { - private int arity = 1; - - @Override - public Object run(Connection... connections) { - if (connections.length < arity) { - throw new InvalidArgumentsException("Not enough connections were given."); - } else { - int arg1 = ((int) connections[0].getValue()); - int result = ~arg1; - - return result; - } - } - - @Override - public int getArity() { - return arity; - } - - @Override - public String getName() { - return "NOT"; - } - } - - public static class Xor extends Function { - private int arity = 2; - - @Override - public Object run(Connection... connections) { - if (connections.length < arity) { - throw new InvalidArgumentsException("Not enough connections were given."); - } else { - int arg1 = ((int) connections[0].getValue()); - int arg2 = ((int) connections[1].getValue()); - int result = arg1 ^ arg2; - - return result; - } - } - - @Override - public int getArity() { - return arity; - } - - @Override - public String getName() { - return "XOR"; - } - } - - public static class Nand extends Function { - private int arity = 2; - - @Override - public Object run(Connection... connections) { - if (connections.length < arity) { - throw new InvalidArgumentsException("Not enough connections were given."); - } else { - int arg1 = ((int) connections[0].getValue()); - int arg2 = ((int) connections[1].getValue()); - int result = arg1 & arg2; - - return ~result; - } - } - - @Override - public int getArity() { - return arity; - } - - @Override - public String getName() { - return "NAND"; - } - } - - public static class Nor extends Function { - private int arity = 2; - - @Override - public Object run(Connection... connections) { - if (connections.length < arity) { - throw new InvalidArgumentsException("Not enough connections were given."); - } else { - int arg1 = ((int) connections[0].getValue()); - int arg2 = ((int) connections[1].getValue()); - int result = arg1 | arg2; - - return ~result; - } - } - - @Override - public int getArity() { - return arity; - } - - @Override - public String getName() { - return "NOR"; - } - } - - public static class Xnor extends Function { - private int arity = 2; - - @Override - public Object run(Connection... connections) { - if (connections.length < arity) { - throw new InvalidArgumentsException("Not enough connections were given."); - } else { - int arg1 = ((int) connections[0].getValue()); - int arg2 = ((int) connections[1].getValue()); - int result = arg1 ^ arg2; - - return ~result; - } - } - - @Override - public int getArity() { - return arity; - } - - @Override - public String getName() { - return "XNOR"; - } - } - - - -} |