From db4eb264ab467f14387e8824008d97635f0a7455 Mon Sep 17 00:00:00 2001
From: adrae <adrae.BELKHAYATE@etu.univ-amu.fr>
Date: Wed, 20 Nov 2024 22:27:10 +0100
Subject: [PATCH] TD6

---
 src/main/java/formula/Addition.java       |  9 ----
 src/main/java/formula/Constant.java       | 15 +-----
 src/main/java/formula/Cosinus.java        | 39 --------------
 src/main/java/formula/Division.java       | 64 -----------------------
 src/main/java/formula/Formula.java        |  2 -
 src/main/java/formula/Multiplication.java | 40 --------------
 src/main/java/formula/Sine.java           | 26 ---------
 src/main/java/formula/Substraction.java   | 49 -----------------
 src/main/java/formula/Subtraction.java    |  6 ---
 9 files changed, 2 insertions(+), 248 deletions(-)
 delete mode 100644 src/main/java/formula/Cosinus.java
 delete mode 100644 src/main/java/formula/Division.java
 delete mode 100644 src/main/java/formula/Multiplication.java
 delete mode 100644 src/main/java/formula/Sine.java
 delete mode 100644 src/main/java/formula/Substraction.java
 delete mode 100644 src/main/java/formula/Subtraction.java

diff --git a/src/main/java/formula/Addition.java b/src/main/java/formula/Addition.java
index 2ae2302..8c2822d 100644
--- a/src/main/java/formula/Addition.java
+++ b/src/main/java/formula/Addition.java
@@ -18,11 +18,6 @@ public class Addition implements Formula {
         return leftMember.eval(xValue) + rightMember.eval(xValue);
     }
 
-    @Override
-    public boolean isConstant(double xValue) {
-        return false;
-    }
-
     // Implémentation de la méthode toString pour retourner une représentation sous forme de chaîne
     @Override
     public String toString() {
@@ -37,8 +32,4 @@ public class Addition implements Formula {
         return new Addition(leftMember.derivative(), rightMember.derivative());
     }
 
-    @Override
-    public Formula simplifiedFormula() {
-        return null;
-    }
 }
diff --git a/src/main/java/formula/Constant.java b/src/main/java/formula/Constant.java
index 86dea3f..60efc54 100644
--- a/src/main/java/formula/Constant.java
+++ b/src/main/java/formula/Constant.java
@@ -14,11 +14,6 @@ public class Constant implements Formula {
     return value;  // La constante ne dépend pas de x, donc elle retourne toujours sa valeur
   }
 
-  @Override
-  public boolean isConstant(double xValue) {
-    return false;
-  }
-
   // Implémentation de la méthode toString pour retourner la valeur de la constante sous forme de chaîne
   @Override
   public String toString() {
@@ -31,21 +26,15 @@ public class Constant implements Formula {
     return new Constant(0);  // La dérivée d'une constante est toujours 0
   }
 
-  @Override
-  public Formula simplifiedFormula() {
-    return null;
-  }
-
   // Implémentation de la méthode equals pour comparer deux constantes
   @Override
   public boolean equals(Object obj) {
     // Vérifie si l'objet est nul ou s'il n'est pas une instance de Constant
     if (obj == null) return false;
-    if (!(obj instanceof Constant)) return false;
+    if (!(obj instanceof Constant otherConstant)) return false;
 
     // Compare les valeurs des constantes
-    Constant otherConstant = (Constant) obj;
-    return this.value == otherConstant.value;
+      return this.value == otherConstant.value;
   }
 
   // Implémentation de la méthode hashCode, qui est généralement recommandée lors de la redéfinition de equals()
diff --git a/src/main/java/formula/Cosinus.java b/src/main/java/formula/Cosinus.java
deleted file mode 100644
index 905c411..0000000
--- a/src/main/java/formula/Cosinus.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package formula;
-
-class Cosine implements Formula {
-    private final Formula inner;
-
-    public Cosine(Formula inner) {
-        this.inner = inner;
-    }
-
-    @Override
-    public double eval(double xValue) {
-        return Math.cos(inner.eval(xValue));
-    }
-
-    @Override
-    public boolean isConstant(double xValue) {
-        return false;
-    }
-
-    @Override
-    public String toString() {
-        return "cos(" + inner + ")";
-    }
-
-    @Override
-    public Formula derivative() {
-        return new Multiplication(
-                new Constant(-1),
-                new Multiplication(new Sine(inner), inner.derivative())
-        );
-    }
-
-    @Override
-    public Formula simplifiedFormula() {
-        return null;
-    }
-}
-
-
diff --git a/src/main/java/formula/Division.java b/src/main/java/formula/Division.java
deleted file mode 100644
index db6e11c..0000000
--- a/src/main/java/formula/Division.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package formula;
-
-public class Division implements Formula {
-    private final Formula numerator;
-    private final Formula denominator;
-
-    public Division(Formula numerator, Formula denominator) {
-        this.numerator = numerator;
-        this.denominator = denominator;
-    }
-
-    @Override
-    public double eval(double xValue) {
-        return numerator.eval(xValue) / denominator.eval(xValue);
-    }
-
-    @Override
-    public boolean isConstant(double xValue) {
-        return false;
-    }
-
-    @Override
-    public String toString() {
-        return "(" + numerator + " / " + denominator + ")";
-    }
-
-    @Override
-    public Formula derivative() {
-        return new Division(
-                new Subtraction(
-                        new Multiplication(numerator.derivative(), denominator),
-                        new Multiplication(numerator, denominator.derivative())
-                ) {
-                    @Override
-                    public double eval(double xValue) {
-                        return 0;
-                    }
-
-                    @Override
-                    public boolean isConstant(double xValue) {
-                        return false;
-                    }
-
-                    @Override
-                    public Formula derivative() {
-                        return null;
-                    }
-
-                    @Override
-                    public Formula simplifiedFormula() {
-                        return null;
-                    }
-                },
-                new Multiplication(denominator, denominator)
-        );
-    }
-
-    @Override
-    public Formula simplifiedFormula() {
-        return null;
-    }
-}
-
-
diff --git a/src/main/java/formula/Formula.java b/src/main/java/formula/Formula.java
index 7559522..fb34803 100644
--- a/src/main/java/formula/Formula.java
+++ b/src/main/java/formula/Formula.java
@@ -9,7 +9,6 @@ public interface  Formula {
    * @return the value of the function when the variable x has value {@code xValue}
    */
   double eval(double xValue);
-  boolean isConstant(double xValue);
 
   /**
    * Compute a {@code String} representation of the formula.
@@ -22,6 +21,5 @@ public interface  Formula {
    * @return the derivative of the formula
    */
   Formula derivative();
-  Formula simplifiedFormula();
 }
 
diff --git a/src/main/java/formula/Multiplication.java b/src/main/java/formula/Multiplication.java
deleted file mode 100644
index 3b08642..0000000
--- a/src/main/java/formula/Multiplication.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package formula;
-
-public class Multiplication implements Formula{
-    private final Formula left;
-    private final Formula right;
-
-    public Multiplication(Formula left, Formula right) {
-        this.left = left;
-        this.right = right;
-    }
-
-    @Override
-    public double eval(double xValue) {
-        return left.eval(xValue) * right.eval(xValue);
-    }
-
-    @Override
-    public boolean isConstant(double xValue) {
-        return false;
-    }
-
-    @Override
-    public String toString() {
-        return "(" + left + " * " + right + ")";
-    }
-
-    @Override
-    public Formula derivative() {
-        return new Addition(
-                new Multiplication(left.derivative(), right),
-                new Multiplication(left, right.derivative())
-        );
-    }
-
-    @Override
-    public Formula simplifiedFormula() {
-        return null;
-    }
-}
-
diff --git a/src/main/java/formula/Sine.java b/src/main/java/formula/Sine.java
deleted file mode 100644
index b4b815e..0000000
--- a/src/main/java/formula/Sine.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package formula;
-
-public class Sine implements Formula {
-    public Sine(Formula inner) {
-    }
-
-    @Override
-    public double eval(double xValue) {
-        return 0;
-    }
-
-    @Override
-    public boolean isConstant(double xValue) {
-        return false;
-    }
-
-    @Override
-    public Formula derivative() {
-        return null;
-    }
-
-    @Override
-    public Formula simplifiedFormula() {
-        return null;
-    }
-}
diff --git a/src/main/java/formula/Substraction.java b/src/main/java/formula/Substraction.java
deleted file mode 100644
index eb7110d..0000000
--- a/src/main/java/formula/Substraction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package formula;
-
-public abstract class Substraction implements Formula {
-
-        private Formula left = null;
-        private  Formula right=null;
-
-        public Substraction(Formula left, Formula right) {
-            this.left = left;
-            this.right = right;
-        }
-
-        @Override
-        public double eval(double xValue) {
-            return left.eval(xValue) - right.eval(xValue);
-        }
-
-        @Override
-        public String toString() {
-            return "(" + left + " - " + right + ")";
-        }
-
-        @Override
-        public Formula derivative() {
-            return new Subtraction(left.derivative(), right.derivative()) {
-                @Override
-                public double eval(double xValue) {
-                    return 0;
-                }
-
-                @Override
-                public boolean isConstant(double xValue) {
-                    return false;
-                }
-
-                @Override
-                public Formula derivative() {
-                    return null;
-                }
-
-                @Override
-                public Formula simplifiedFormula() {
-                    return null;
-                }
-            };
-        }
-    }
-
-
diff --git a/src/main/java/formula/Subtraction.java b/src/main/java/formula/Subtraction.java
deleted file mode 100644
index b4bf1d0..0000000
--- a/src/main/java/formula/Subtraction.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package formula;
-
-public abstract class Subtraction implements Formula {
-    public Subtraction(Formula derivative, Formula derivative1) {
-    }
-}
-- 
GitLab