summaryrefslogtreecommitdiff
path: root/src/main/java/sevenUnits/unit/UnitPrefix.java
diff options
context:
space:
mode:
authorAdrien Hopkins <adrien.p.hopkins@gmail.com>2024-03-24 13:25:22 -0500
committerAdrien Hopkins <adrien.p.hopkins@gmail.com>2024-03-24 13:25:22 -0500
commited53492243ecad8d975401a97f5b634328ad2c71 (patch)
tree8a744f46320710355a02c9b2c371602ce69aefec /src/main/java/sevenUnits/unit/UnitPrefix.java
parentc878761f737c90fc3fa1caedd48e2ee01637108f (diff)
parent91d51c3c49c4c0877483220ac0f12db4efab8f60 (diff)
Release version 0.5.0 (merge into stable)
Diffstat (limited to 'src/main/java/sevenUnits/unit/UnitPrefix.java')
-rw-r--r--src/main/java/sevenUnits/unit/UnitPrefix.java48
1 files changed, 33 insertions, 15 deletions
diff --git a/src/main/java/sevenUnits/unit/UnitPrefix.java b/src/main/java/sevenUnits/unit/UnitPrefix.java
index e1f7788..9035969 100644
--- a/src/main/java/sevenUnits/unit/UnitPrefix.java
+++ b/src/main/java/sevenUnits/unit/UnitPrefix.java
@@ -40,7 +40,7 @@ public final class UnitPrefix implements Nameable {
public static UnitPrefix valueOf(final double multiplier) {
return new UnitPrefix(multiplier, NameSymbol.EMPTY);
}
-
+
/**
* Gets a {@code UnitPrefix} from a multiplier and a name
*
@@ -55,21 +55,21 @@ public final class UnitPrefix implements Nameable {
return new UnitPrefix(multiplier,
Objects.requireNonNull(ns, "ns must not be null."));
}
-
+
/**
* This prefix's name(s) and symbol.
*
* @since 2022-04-16
*/
private final NameSymbol nameSymbol;
-
+
/**
* The number that this prefix multiplies units by
*
* @since 2019-10-16
*/
private final double multiplier;
-
+
/**
* Creates the {@code DefaultUnitPrefix}.
*
@@ -81,7 +81,7 @@ public final class UnitPrefix implements Nameable {
this.multiplier = multiplier;
this.nameSymbol = ns;
}
-
+
/**
* Divides this prefix by a scalar
*
@@ -92,7 +92,7 @@ public final class UnitPrefix implements Nameable {
public UnitPrefix dividedBy(final double divisor) {
return valueOf(this.getMultiplier() / divisor);
}
-
+
/**
* Divides this prefix by {@code other}.
*
@@ -104,7 +104,7 @@ public final class UnitPrefix implements Nameable {
public UnitPrefix dividedBy(final UnitPrefix other) {
return valueOf(this.getMultiplier() / other.getMultiplier());
}
-
+
/**
* {@inheritDoc}
*
@@ -122,7 +122,7 @@ public final class UnitPrefix implements Nameable {
return DecimalComparison.equals(this.getMultiplier(),
other.getMultiplier());
}
-
+
/**
* @return prefix's multiplier
* @since 2019-11-26
@@ -130,12 +130,12 @@ public final class UnitPrefix implements Nameable {
public double getMultiplier() {
return this.multiplier;
}
-
+
@Override
public NameSymbol getNameSymbol() {
return this.nameSymbol;
}
-
+
/**
* {@inheritDoc}
*
@@ -145,7 +145,7 @@ public final class UnitPrefix implements Nameable {
public int hashCode() {
return DecimalComparison.hash(this.getMultiplier());
}
-
+
/**
* Multiplies this prefix by a scalar
*
@@ -156,7 +156,25 @@ public final class UnitPrefix implements Nameable {
public UnitPrefix times(final double multiplicand) {
return valueOf(this.getMultiplier() * multiplicand);
}
-
+
+ /**
+ * Adds {@code other} to this prefix and returns the result.
+ *
+ * @since 2024-03-03
+ */
+ public UnitPrefix plus(final UnitPrefix other) {
+ return valueOf(this.getMultiplier() + other.getMultiplier());
+ }
+
+ /**
+ * Subtracts {@code other} from this prefix and returns the result.
+ *
+ * @since 2024-03-03
+ */
+ public UnitPrefix minus(final UnitPrefix other) {
+ return valueOf(this.getMultiplier() - other.getMultiplier());
+ }
+
/**
* Multiplies this prefix by {@code other}.
*
@@ -168,7 +186,7 @@ public final class UnitPrefix implements Nameable {
public UnitPrefix times(final UnitPrefix other) {
return valueOf(this.getMultiplier() * other.getMultiplier());
}
-
+
/**
* Raises this prefix to an exponent.
*
@@ -180,7 +198,7 @@ public final class UnitPrefix implements Nameable {
public UnitPrefix toExponent(final double exponent) {
return valueOf(Math.pow(this.getMultiplier(), exponent));
}
-
+
/**
* @return a string describing the prefix and its multiplier
*/
@@ -195,7 +213,7 @@ public final class UnitPrefix implements Nameable {
else
return String.format("Unit Prefix (\u00D7 %s)", this.multiplier);
}
-
+
/**
* @param ns name(s) and symbol to use
* @return copy of this prefix with provided name(s) and symbol