aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/function/BitwiseLogic.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/function/BitwiseLogic.java')
-rw-r--r--src/jcgp/function/BitwiseLogic.java178
1 files changed, 0 insertions, 178 deletions
diff --git a/src/jcgp/function/BitwiseLogic.java b/src/jcgp/function/BitwiseLogic.java
deleted file mode 100644
index 55f5df0..0000000
--- a/src/jcgp/function/BitwiseLogic.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package jcgp.function;
-
-import jcgp.Parameters;
-import jcgp.exceptions.InvalidArgumentsException;
-import jcgp.population.Connection;
-
-public class BitwiseLogic {
-
- 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;
- if (Parameters.getDebug()) {
- System.out.println(arg1 + " AND " + arg2 + " = " + result);
- }
- return result;
- }
- }
-
- @Override
- public int getArity() {
- return arity;
- }
- }
-
- 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;
- if (Parameters.getDebug()) {
- System.out.println(arg1 + " OR " + arg2 + " = " + result);
- }
- return result;
- }
- }
-
- @Override
- public int getArity() {
- return arity;
- }
- }
-
- 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;
- if (Parameters.getDebug()) {
- System.out.println("NOT " + arg1 + " = " + result);
- }
- return result;
- }
- }
-
- @Override
- public int getArity() {
- return arity;
- }
- }
-
- 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;
- if (Parameters.getDebug()) {
- System.out.println(arg1 + " XOR " + arg2 + " = " + result);
- }
- return result;
- }
- }
-
- @Override
- public int getArity() {
- return arity;
- }
- }
-
- 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;
- if (Parameters.getDebug()) {
- System.out.println(arg1 + " NAND " + arg2 + " = " + ~result);
- }
- return ~result;
- }
- }
-
- @Override
- public int getArity() {
- return arity;
- }
- }
-
- 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;
- if (Parameters.getDebug()) {
- System.out.println(arg1 + " NOR " + arg2 + " = " + ~result);
- }
- return ~result;
- }
- }
-
- @Override
- public int getArity() {
- return arity;
- }
- }
-
- 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;
- if (Parameters.getDebug()) {
- System.out.println(arg1 + " XNOR " + arg2 + " = " + ~result);
- }
- return ~result;
- }
- }
-
- @Override
- public int getArity() {
- return arity;
- }
- }
-
-
-
-}