diff options
Diffstat (limited to 'src/main/java/sevenUnits/unit/UnitPrefix.java')
-rw-r--r-- | src/main/java/sevenUnits/unit/UnitPrefix.java | 18 |
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()); } /** |