Use stricter C++ type conversions (#4357)

Now, implicit narrowing conversions are only used with wpi::Now(). This
also fixes clang-tidy warnings about C-style casts. For example:
```
== clang-tidy /__w/allwpilib/allwpilib/wpilibNewCommands/src/main/native/include/frc2/command/SwerveControllerCommand.inc ==
/__w/allwpilib/allwpilib/wpilibNewCommands/src/main/native/include/frc2/command/SwerveControllerCommand.inc:95:18: warning: C-style casts are discouraged; use static_cast/const_cast/reinterpret_cast [google-readability-casting]
  auto curTime = units::second_t(m_timer.Get());
                 ^
```
In that case at least, the cast was removed entirely since Get() already
returns a units::second_t.
This commit is contained in:
Tyler Veness
2022-08-17 13:42:36 -07:00
committed by GitHub
parent 151dabb2af
commit ac9be78e27
139 changed files with 547 additions and 593 deletions

View File

@@ -81,7 +81,7 @@ class WPILIB_DLLEXPORT TrajectoryParameterizer {
* the trajectory, max velocity, min acceleration and max acceleration.
*/
struct ConstrainedState {
PoseWithCurvature pose = {Pose2d(), units::curvature_t(0.0)};
PoseWithCurvature pose = {Pose2d{}, units::curvature_t{0.0}};
units::meter_t distance = 0_m;
units::meters_per_second_t maxVelocity = 0_mps;
units::meters_per_second_squared_t minAcceleration = 0_mps_sq;

View File

@@ -82,7 +82,7 @@ class TrapezoidProfile {
* @param initial The initial state (usually the current state).
*/
TrapezoidProfile(Constraints constraints, State goal,
State initial = State{Distance_t(0), Velocity_t(0)});
State initial = State{Distance_t{0}, Velocity_t{0}});
TrapezoidProfile(const TrapezoidProfile&) = default;
TrapezoidProfile& operator=(const TrapezoidProfile&) = default;

View File

@@ -46,10 +46,10 @@ TrapezoidProfile<Distance>::TrapezoidProfile(Constraints constraints,
accelerationTime * accelerationTime * m_constraints.maxAcceleration;
// Handle the case where the profile never reaches full speed
if (fullSpeedDist < Distance_t(0)) {
if (fullSpeedDist < Distance_t{0}) {
accelerationTime =
units::math::sqrt(fullTrapezoidDist / m_constraints.maxAcceleration);
fullSpeedDist = Distance_t(0);
fullSpeedDist = Distance_t{0};
}
m_endAccel = accelerationTime - cutoffBegin;
@@ -110,7 +110,7 @@ units::second_t TrapezoidProfile<Distance>::TimeLeftUntil(
Distance_t distToTarget = units::math::abs(target - position);
if (distToTarget < Distance_t(1e-6)) {
if (distToTarget < Distance_t{1e-6}) {
return 0_s;
}

View File

@@ -44,8 +44,8 @@ class EllipticalRegionConstraint : public TrajectoryConstraint {
if (IsPoseInRegion(pose)) {
return m_constraint.MaxVelocity(pose, curvature, velocity);
} else {
return units::meters_per_second_t(
std::numeric_limits<double>::infinity());
return units::meters_per_second_t{
std::numeric_limits<double>::infinity()};
}
}

View File

@@ -41,8 +41,8 @@ class RectangularRegionConstraint : public TrajectoryConstraint {
if (IsPoseInRegion(pose)) {
return m_constraint.MaxVelocity(pose, curvature, velocity);
} else {
return units::meters_per_second_t(
std::numeric_limits<double>::infinity());
return units::meters_per_second_t{
std::numeric_limits<double>::infinity()};
}
}