WarpPI/core/src/main/java/it/cavallium/warppi/math/functions/trigonometry/ArcTangent.java
Riccardo Azzolini 0c316226e6 Make Function.equals test for exact equality instead of equivalence
Actually, testing for equivalence was only partially implemented (by
considering the commutative property for some FunctionOperators).

Additionally, should it be needed in the future, equivalence testing
would probably be better implemented as a separate, specialized method
anyway.
2019-10-25 22:30:10 +02:00

49 lines
1.4 KiB
Java

package it.cavallium.warppi.math.functions.trigonometry;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class ArcTangent extends FunctionSingle {
public ArcTangent(final MathContext root, final Function value) {
super(root, value);
}
@Override
public boolean equals(final Object o) {
if (o instanceof ArcTangent) {
final FunctionSingle f = (FunctionSingle) o;
return parameter.equals(f.getParameter());
}
return false;
}
@Override
public FunctionSingle clone() {
// TODO Auto-generated method stub
return null;
}
@Override
public FunctionSingle clone(MathContext c) {
// TODO Auto-generated method stub
return null;
}
@Override
public ObjectArrayList<Block> toBlock(final MathContext context) throws Error {
// TODO Auto-generated method stub
throw new Error(Errors.NOT_IMPLEMENTED, "Unknown function " + getClass().getSimpleName());
}
@Override
public <Argument, Result> Result accept(final Function.Visitor<Argument, Result> visitor, final Argument argument) {
return visitor.visit(this, argument);
}
}