Skip to content
Snippets Groups Projects
Commit a136f7c9 authored by MEDERBEL Salim's avatar MEDERBEL Salim
Browse files

is Constant

parent c565c925
Branches
Tags
No related merge requests found
Pipeline #21162 passed
......@@ -25,4 +25,9 @@ public class Addition implements Formula{
public Formula derivative() {
return new Addition (leftMember.derivative(), rightMember.derivative());
}
@Override
public Boolean isConstant() {
return leftMember.isConstant() && rightMember.isConstant();
}
}
......@@ -58,4 +58,11 @@ public class Constant implements Formula {
if(!(obj instanceof Constant constant)) return false;
return this.value == constant.value;
}
@Override
public Boolean isConstant() {
return true;
}
}
......@@ -8,6 +8,8 @@ public class Cosine implements Formula{
public Cosine (Formula formule){
this.formule=formule;
}
......@@ -26,5 +28,10 @@ public class Cosine implements Formula{
public Formula derivative() {
return new Multiplication (formule.derivative(),new Opposite(new Sine(formule)));
}
@Override
public Boolean isConstant() {
return formule.isConstant();
}
}
......@@ -26,4 +26,10 @@ public class Division implements Formula {
return new Division(new Subtraction(new Multiplication(leftMember.derivative(),rightMember),new Multiplication(leftMember,rightMember.derivative())),new Multiplication(rightMember,rightMember
));
}
@Override
public Boolean isConstant() {
return leftMember.isConstant() && rightMember.isConstant();
}
}
......@@ -6,6 +6,7 @@ public class Exponential implements Formula {
public Exponential (Formula formule){
this.formule = formule;
}
......@@ -22,6 +23,11 @@ public class Exponential implements Formula {
@Override
public Formula derivative() {
return new Multiplication(new Exponential(this.formule),formule.derivative());
return new Multiplication(new Exponential(formule),formule.derivative());
}
@Override
public Boolean isConstant() {
return formule.isConstant();
}
}
......@@ -22,4 +22,8 @@ public interface Formula {
*/
Formula derivative();
Boolean isConstant();
}
package formula;
public class Logarithm implements Formula
public class Logarithm implements Formula{
private Formula formule;
public Logarithm (Formula formule){
this.formule=formule;
}
......@@ -24,6 +25,10 @@ public class Logarithm implements Formula
public Formula derivative() {
return new Division(formule.derivative(),formule);
}
@Override
public Boolean isConstant() {
return formule.isConstant();
}
{
}
......@@ -25,5 +25,10 @@ public class Multiplication implements Formula {
public Formula derivative() {
return new Addition (new Multiplication(leftMember.derivative(),rightMember),new Multiplication(leftMember,rightMember.derivative()));
}
@Override
public Boolean isConstant() {
return leftMember.isConstant() && rightMember.isConstant();
}
}
......@@ -6,6 +6,8 @@ public class Opposite implements Formula {
public Opposite (Formula formule){
this.formule=formule;
}
......@@ -24,4 +26,9 @@ public class Opposite implements Formula {
public Formula derivative() {
return new Opposite(formule.derivative());
}
@Override
public Boolean isConstant() {
return formule.isConstant();
}
}
\ No newline at end of file
......@@ -5,6 +5,8 @@ public class Sine implements Formula{
public Sine (Formula formule){
this.formule=formule;
}
......@@ -23,4 +25,9 @@ public class Sine implements Formula{
public Formula derivative() {
return new Multiplication(formule.derivative(),new Cosine(formule));
}
@Override
public Boolean isConstant() {
return formule.isConstant();
}
}
......@@ -25,4 +25,9 @@ public class Subtraction implements Formula {
public Formula derivative() {
return new Subtraction (leftMember.derivative(), rightMember.derivative());
}
@Override
public Boolean isConstant() {
return leftMember.isConstant() && rightMember.isConstant();
}
}
......@@ -19,5 +19,10 @@ public class VariableX implements Formula {
public Formula derivative() {
return new Constant(1);
}
@Override
public Boolean isConstant() {
return false;
}
}
......@@ -46,6 +46,10 @@ class FunctionList {
// Exp
PlottableFunction functioneXP = new PlottableFunction(new Exponential(new VariableX()), "IM");
addFunctionAndItsDerivative(functioneXP);
//log
PlottableFunction functionLOG = new PlottableFunction(new Logarithm(new VariableX()), "ML");
addFunctionAndItsDerivative(functionLOG);
}
void toggleFunction(PlottableFunction function) {
if (function.isPlotted()){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment