summaryrefslogtreecommitdiff
path: root/src/main/java/sevenUnits/unit/UnitPrefix.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/sevenUnits/unit/UnitPrefix.java')
-rw-r--r--src/main/java/sevenUnits/unit/UnitPrefix.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/main/java/sevenUnits/unit/UnitPrefix.java b/src/main/java/sevenUnits/unit/UnitPrefix.java
index 9035969..ec4be48 100644
--- a/src/main/java/sevenUnits/unit/UnitPrefix.java
+++ b/src/main/java/sevenUnits/unit/UnitPrefix.java
@@ -119,6 +119,22 @@ public final class UnitPrefix implements Nameable {
if (!(obj instanceof UnitPrefix))
return false;
final UnitPrefix other = (UnitPrefix) obj;
+ return Double.compare(this.getMultiplier(),
+ other.getMultiplier()) == 0;
+ }
+
+ /**
+ * @return true iff this prefix and other are equal,
+ * ignoring small differences caused by floating-point error.
+ *
+ * @apiNote This method is not transitive,
+ * so it cannot be used as an equals method.
+ */
+ public boolean equalsApproximately(final UnitPrefix other) {
+ if (this == other)
+ return true;
+ if (other == null)
+ return false;
return DecimalComparison.equals(this.getMultiplier(),
other.getMultiplier());
}
@@ -143,7 +159,7 @@ public final class UnitPrefix implements Nameable {
*/
@Override
public int hashCode() {
- return DecimalComparison.hash(this.getMultiplier());
+ return Double.hashCode(this.getMultiplier());
}
/**