[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

@@ -5,8 +5,6 @@
package edu.wpi.first.units;
import edu.wpi.first.units.measure.Distance;
import edu.wpi.first.units.measure.ImmutableDistance;
import edu.wpi.first.units.measure.MutDistance;
/**
* Unit of linear dimension.
@@ -65,12 +63,12 @@ public final class DistanceUnit extends Unit {
@Override
public Distance of(double magnitude) {
return new ImmutableDistance(magnitude, toBaseUnits(magnitude), this);
return new Distance(magnitude, toBaseUnits(magnitude), this);
}
@Override
public Distance ofBaseUnits(double baseUnitMagnitude) {
return new ImmutableDistance(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude, this);
return new Distance(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude, this);
}
@Override
@@ -83,11 +81,6 @@ public final class DistanceUnit extends Unit {
return (Distance) super.one();
}
@Override
public MutDistance mutable(double initialMagnitude) {
return new MutDistance(initialMagnitude, toBaseUnits(initialMagnitude), this);
}
/**
* Multiplies this distance unit by a unit of force to create a unit of torque.
*