quaternion-java/fr/alnotz/Dual.java

50 lines
997 B
Java
Raw Normal View History

2023-05-18 21:45:24 +00:00
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();
}
}