[wpiunits] Make Java units immutable only (#8115)

Remove mutable implementations, as systemcore doesn't need mutability to keep performance under control.
This commit is contained in:
Sam Carlberg
2025-07-26 17:48:35 -04:00
committed by GitHub
parent 373eedc77b
commit 8d36df671b
114 changed files with 3449 additions and 5230 deletions

View File

@@ -4,9 +4,7 @@
package edu.wpi.first.units;
import edu.wpi.first.units.measure.ImmutableMass;
import edu.wpi.first.units.measure.Mass;
import edu.wpi.first.units.measure.MutMass;
/**
* Unit of mass dimension.
@@ -39,12 +37,12 @@ public final class MassUnit extends Unit {
@Override
public Mass of(double magnitude) {
return new ImmutableMass(magnitude, toBaseUnits(magnitude), this);
return new Mass(magnitude, toBaseUnits(magnitude), this);
}
@Override
public Mass ofBaseUnits(double baseUnitMagnitude) {
return new ImmutableMass(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude, this);
return new Mass(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude, this);
}
@Override
@@ -57,11 +55,6 @@ public final class MassUnit extends Unit {
return (Mass) super.one();
}
@Override
public MutMass mutable(double initialMagnitude) {
return new MutMass(initialMagnitude, toBaseUnits(initialMagnitude), this);
}
@Override
public VelocityUnit<MassUnit> per(TimeUnit period) {
return VelocityUnit.combine(this, period);