[wpimath] Fix swerve kinematics util classes equals function (#4907)

Co-authored-by: Tyler Veness <calcmogul@gmail.com>
This commit is contained in:
ohowe
2023-01-08 17:29:35 -07:00
committed by GitHub
parent 51272ef6b3
commit 330ba45f9c
8 changed files with 102 additions and 13 deletions

View File

@@ -32,14 +32,15 @@ public class SwerveModulePosition implements Comparable<SwerveModulePosition> {
@Override
public boolean equals(Object obj) {
if (obj instanceof SwerveModulePosition) {
return Double.compare(distanceMeters, ((SwerveModulePosition) obj).distanceMeters) == 0;
SwerveModulePosition other = (SwerveModulePosition) obj;
return Math.abs(other.distanceMeters - distanceMeters) < 1E-9 && angle.equals(other.angle);
}
return false;
}
@Override
public int hashCode() {
return Objects.hash(distanceMeters);
return Objects.hash(distanceMeters, angle);
}
/**

View File

@@ -32,15 +32,16 @@ public class SwerveModuleState implements Comparable<SwerveModuleState> {
@Override
public boolean equals(Object obj) {
if (obj instanceof SwerveModuleState) {
return Double.compare(speedMetersPerSecond, ((SwerveModuleState) obj).speedMetersPerSecond)
== 0;
SwerveModuleState other = (SwerveModuleState) obj;
return Math.abs(other.speedMetersPerSecond - speedMetersPerSecond) < 1E-9
&& angle.equals(other.angle);
}
return false;
}
@Override
public int hashCode() {
return Objects.hash(speedMetersPerSecond);
return Objects.hash(speedMetersPerSecond, angle);
}
/**