diff --git a/fr/alnotz/Dual.java b/fr/alnotz/Dual.java new file mode 100644 index 0000000..40c4aa1 --- /dev/null +++ b/fr/alnotz/Dual.java @@ -0,0 +1,49 @@ +package fr.alnotz; + +public class Dual implements IsDual{ + private double r; + private double d; + public Dual(double r, double d){ + this.r = r; + this.d = d; + } + public static Dual plus(IsDual dual0, IsDual dual1){ + return new Dual(dual0.getR() + dual1.getR(), dual0.getD() + dual1.getD()); + } + @Override + public double getR() { + return this.r; + } + + @Override + public double getD() { + return this.d; + } + + @Override + public void setR(double r) { + this.r = r; + } + + @Override + public void setD(double d) { + this.d = d; + } + + @Override + public void plus(IsDual dual) { + this.r += dual.getR(); + this.d += dual.getD(); + } + + @Override + public void times(IsDual dual) { + this.r *= dual.getR(); + this.d = 2 * this.r * dual.getD(); + } + + @Override + public boolean equals(IsDual dual) { + return this.r == dual.getR() && this.d == dual.getR(); + } +} diff --git a/fr/alnotz/IsDual.java b/fr/alnotz/IsDual.java new file mode 100644 index 0000000..221bd0e --- /dev/null +++ b/fr/alnotz/IsDual.java @@ -0,0 +1,11 @@ +package fr.alnotz; + +public interface IsDual { + double getR(); + double getD(); + void setR(double r); + void setD(double d); + void plus(IsDual dual); + void times(IsDual dual); + boolean equals(IsDual dual); +}