summaryrefslogtreecommitdiffstats
path: root/Master/Software Architektur/SWA_Prakt2/src/net/sven_eisenhauer/swa_prakt2/ArithmeticAddition.java
diff options
context:
space:
mode:
Diffstat (limited to 'Master/Software Architektur/SWA_Prakt2/src/net/sven_eisenhauer/swa_prakt2/ArithmeticAddition.java')
-rw-r--r--Master/Software Architektur/SWA_Prakt2/src/net/sven_eisenhauer/swa_prakt2/ArithmeticAddition.java134
1 files changed, 134 insertions, 0 deletions
diff --git a/Master/Software Architektur/SWA_Prakt2/src/net/sven_eisenhauer/swa_prakt2/ArithmeticAddition.java b/Master/Software Architektur/SWA_Prakt2/src/net/sven_eisenhauer/swa_prakt2/ArithmeticAddition.java
new file mode 100644
index 0000000..6565e43
--- /dev/null
+++ b/Master/Software Architektur/SWA_Prakt2/src/net/sven_eisenhauer/swa_prakt2/ArithmeticAddition.java
@@ -0,0 +1,134 @@
+package net.sven_eisenhauer.swa_prakt1;
+
+public class ArithmeticAddition extends ArithmeticOperation {
+
+ public ArithmeticAddition(ArithmeticExpression operand1,
+ ArithmeticExpression operand2) {
+ super(operand1, operand2);
+ operationSign="+";
+ }
+/* @Override
+ public Number evaluate() {
+ Number res = null;
+ Number num1 = operand1.evaluate();
+ Number num2 = operand2.evaluate();
+
+ if(num1 instanceof Integer && num2 instanceof Integer) {
+ res = num1.intValue() + num2.intValue();
+ }
+ else if(num1 instanceof Integer && num2 instanceof Long) {
+ res = num1.intValue() + num2.longValue();
+ }
+ else if(num1 instanceof Integer && num2 instanceof Short) {
+ res = num1.intValue() + num2.shortValue();
+ }
+ else if(num1 instanceof Integer && num2 instanceof Float) {
+ res = num1.intValue() + num2.floatValue();
+ }
+ else if(num1 instanceof Integer && num2 instanceof Double) {
+ res = num1.intValue() + num2.doubleValue();
+ }
+ else if(num1 instanceof Integer && num2 instanceof Byte) {
+ res = num1.intValue() + num2.byteValue();
+ }
+
+ else if(num1 instanceof Byte && num2 instanceof Long) {
+ res = num1.byteValue() + num2.longValue();
+ }
+ else if(num1 instanceof Byte && num2 instanceof Short) {
+ res = num1.byteValue() + num2.shortValue();
+ }
+ else if(num1 instanceof Byte && num2 instanceof Float) {
+ res = num1.byteValue() + num2.floatValue();
+ }
+ else if(num1 instanceof Byte && num2 instanceof Double) {
+ res = num1.byteValue() + num2.doubleValue();
+ }
+ else if(num1 instanceof Byte && num2 instanceof Byte) {
+ res = num1.byteValue() + num2.byteValue();
+ }
+ else if(num1 instanceof Byte && num2 instanceof Integer) {
+ res = num1.byteValue() + num2.intValue();
+ }
+
+ else if(num1 instanceof Short && num2 instanceof Long) {
+ res = num1.shortValue() + num2.longValue();
+ }
+ else if(num1 instanceof Short && num2 instanceof Short) {
+ res = num1.shortValue() + num2.shortValue();
+ }
+ else if(num1 instanceof Short && num2 instanceof Float) {
+ res = num1.shortValue() + num2.floatValue();
+ }
+ else if(num1 instanceof Short && num2 instanceof Double) {
+ res = num1.shortValue() + num2.doubleValue();
+ }
+ else if(num1 instanceof Short && num2 instanceof Byte) {
+ res = num1.shortValue() + num2.byteValue();
+ }
+ else if(num1 instanceof Short && num2 instanceof Integer) {
+ res = num1.shortValue() + num2.intValue();
+ }
+
+ else if(num1 instanceof Long && num2 instanceof Long) {
+ res = num1.longValue() + num2.longValue();
+ }
+ else if(num1 instanceof Long && num2 instanceof Short) {
+ res = num1.longValue() + num2.shortValue();
+ }
+ else if(num1 instanceof Long && num2 instanceof Float) {
+ res = num1.longValue() + num2.floatValue();
+ }
+ else if(num1 instanceof Long && num2 instanceof Double) {
+ res = num1.longValue() + num2.doubleValue();
+ }
+ else if(num1 instanceof Long && num2 instanceof Byte) {
+ res = num1.longValue() + num2.byteValue();
+ }
+ else if(num1 instanceof Long && num2 instanceof Integer) {
+ res = num1.longValue() + num2.intValue();
+ }
+
+ else if(num1 instanceof Float && num2 instanceof Long) {
+ res = num1.floatValue() + num2.longValue();
+ }
+ else if(num1 instanceof Float && num2 instanceof Short) {
+ res = num1.floatValue() + num2.shortValue();
+ }
+ else if(num1 instanceof Float && num2 instanceof Float) {
+ res = num1.floatValue() + num2.floatValue();
+ }
+ else if(num1 instanceof Float && num2 instanceof Double) {
+ res = num1.floatValue() + num2.doubleValue();
+ }
+ else if(num1 instanceof Float && num2 instanceof Byte) {
+ res = num1.floatValue() + num2.byteValue();
+ }
+ else if(num1 instanceof Float && num2 instanceof Integer) {
+ res = num1.floatValue() + num2.intValue();
+ }
+
+ else if(num1 instanceof Double && num2 instanceof Long) {
+ res = num1.doubleValue() + num2.longValue();
+ }
+ else if(num1 instanceof Double && num2 instanceof Short) {
+ res = num1.doubleValue() + num2.shortValue();
+ }
+ else if(num1 instanceof Double && num2 instanceof Float) {
+ res = num1.doubleValue() + num2.floatValue();
+ }
+ else if(num1 instanceof Double && num2 instanceof Double) {
+ res = num1.doubleValue() + num2.doubleValue();
+ }
+ else if(num1 instanceof Double && num2 instanceof Byte) {
+ res = num1.doubleValue() + num2.byteValue();
+ } else if(num1 instanceof Double && num2 instanceof Integer) {
+ res = num1.doubleValue() + num2.intValue();
+ }
+ return res;
+ }*/
+ @Override
+ public Number doOperation(Number opLeft, Number opRight) {
+ return opLeft.doubleValue()+opRight.doubleValue();
+ }
+}