Skip to content

Commit 041cbf1

Browse files
committed
chore: more clippy fixes
1 parent 28aa68e commit 041cbf1

8 files changed

Lines changed: 52 additions & 51 deletions

File tree

src/dynamics/solver/contact_constraint/any_contact_constraint.rs

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ use crate::prelude::ContactManifold;
99

1010
#[derive(Debug)]
1111
pub enum AnyContactConstraintMut<'a> {
12-
GenericTwoBodies(&'a mut GenericContactConstraint),
13-
SimdTwoBodiesCoulomb(&'a mut ContactWithCoulombFriction),
12+
Generic(&'a mut GenericContactConstraint),
13+
WithCoulombFriction(&'a mut ContactWithCoulombFriction),
1414
#[cfg(feature = "dim3")]
15-
SimdTwoBodiesTwist(&'a mut ContactWithTwistFriction),
15+
WithTwistFriction(&'a mut ContactWithTwistFriction),
1616
}
1717

1818
impl AnyContactConstraintMut<'_> {
1919
pub fn remove_bias(&mut self) {
2020
match self {
21-
Self::GenericTwoBodies(c) => c.remove_cfm_and_bias_from_rhs(),
22-
Self::SimdTwoBodiesCoulomb(c) => c.remove_cfm_and_bias_from_rhs(),
21+
Self::Generic(c) => c.remove_cfm_and_bias_from_rhs(),
22+
Self::WithCoulombFriction(c) => c.remove_cfm_and_bias_from_rhs(),
2323
#[cfg(feature = "dim3")]
24-
Self::SimdTwoBodiesTwist(c) => c.remove_cfm_and_bias_from_rhs(),
24+
Self::WithTwistFriction(c) => c.remove_cfm_and_bias_from_rhs(),
2525
}
2626
}
2727
pub fn warmstart(
@@ -31,12 +31,10 @@ impl AnyContactConstraintMut<'_> {
3131
generic_solver_vels: &mut DVector<Real>,
3232
) {
3333
match self {
34-
Self::GenericTwoBodies(c) => {
35-
c.warmstart(generic_jacobians, solver_vels, generic_solver_vels)
36-
}
37-
Self::SimdTwoBodiesCoulomb(c) => c.warmstart(solver_vels),
34+
Self::Generic(c) => c.warmstart(generic_jacobians, solver_vels, generic_solver_vels),
35+
Self::WithCoulombFriction(c) => c.warmstart(solver_vels),
3836
#[cfg(feature = "dim3")]
39-
Self::SimdTwoBodiesTwist(c) => c.warmstart(solver_vels),
37+
Self::WithTwistFriction(c) => c.warmstart(solver_vels),
4038
}
4139
}
4240

@@ -47,21 +45,19 @@ impl AnyContactConstraintMut<'_> {
4745
generic_solver_vels: &mut DVector<Real>,
4846
) {
4947
match self {
50-
Self::GenericTwoBodies(c) => {
51-
c.solve(generic_jacobians, bodies, generic_solver_vels, true, true)
52-
}
53-
Self::SimdTwoBodiesCoulomb(c) => c.solve(bodies, true, true),
48+
Self::Generic(c) => c.solve(generic_jacobians, bodies, generic_solver_vels, true, true),
49+
Self::WithCoulombFriction(c) => c.solve(bodies, true, true),
5450
#[cfg(feature = "dim3")]
55-
Self::SimdTwoBodiesTwist(c) => c.solve(bodies, true, true),
51+
Self::WithTwistFriction(c) => c.solve(bodies, true, true),
5652
}
5753
}
5854

5955
pub fn writeback_impulses(&mut self, manifolds_all: &mut [&mut ContactManifold]) {
6056
match self {
61-
Self::GenericTwoBodies(c) => c.writeback_impulses(manifolds_all),
62-
Self::SimdTwoBodiesCoulomb(c) => c.writeback_impulses(manifolds_all),
57+
Self::Generic(c) => c.writeback_impulses(manifolds_all),
58+
Self::WithCoulombFriction(c) => c.writeback_impulses(manifolds_all),
6359
#[cfg(feature = "dim3")]
64-
Self::SimdTwoBodiesTwist(c) => c.writeback_impulses(manifolds_all),
60+
Self::WithTwistFriction(c) => c.writeback_impulses(manifolds_all),
6561
}
6662
}
6763
}

src/dynamics/solver/contact_constraint/contact_constraints_set.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,17 +122,17 @@ impl ContactConstraintsSet {
122122
let a = self
123123
.generic_velocity_constraints
124124
.iter_mut()
125-
.map(AnyContactConstraintMut::GenericTwoBodies);
125+
.map(AnyContactConstraintMut::Generic);
126126
let b = self
127127
.simd_velocity_coulomb_constraints
128128
.iter_mut()
129-
.map(AnyContactConstraintMut::SimdTwoBodiesCoulomb);
129+
.map(AnyContactConstraintMut::WithCoulombFriction);
130130
#[cfg(feature = "dim3")]
131131
{
132132
let c = self
133133
.simd_velocity_twist_constraints
134134
.iter_mut()
135-
.map(AnyContactConstraintMut::SimdTwoBodiesTwist);
135+
.map(AnyContactConstraintMut::WithTwistFriction);
136136
(jac, a.chain(b).chain(c))
137137
}
138138

src/dynamics/solver/interaction_groups.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ impl InteractionGroups {
251251
let mut occupied_mask = 0u128;
252252

253253
for interaction_i in interaction_indices {
254-
let interaction = &interactions[*interaction_i as usize].weight;
254+
let interaction = &interactions[*interaction_i].weight;
255255

256256
let rb1 = &bodies[interaction.body1];
257257
let rb2 = &bodies[interaction.body2];
@@ -403,7 +403,7 @@ impl InteractionGroups {
403403
let mut occupied_mask = 0u128;
404404
let max_interaction_points = interaction_indices
405405
.iter()
406-
.map(|i| interactions[*i as usize].data.num_active_contacts())
406+
.map(|i| interactions[*i].data.num_active_contacts())
407407
.max()
408408
.unwrap_or(1);
409409

@@ -412,7 +412,7 @@ impl InteractionGroups {
412412
// instead of MAX_MANIFOLD_POINTS times.
413413
for k in 1..=max_interaction_points {
414414
for interaction_i in interaction_indices {
415-
let interaction = &interactions[*interaction_i as usize];
415+
let interaction = &interactions[*interaction_i];
416416

417417
// TODO: how could we avoid iterating
418418
// on each interaction at every iteration on k?

src/dynamics/solver/joint_constraint/any_joint_constraint.rs

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ use crate::dynamics::solver::solver_body::SolverBodies;
1111

1212
#[derive(Debug)]
1313
pub enum AnyJointConstraintMut<'a> {
14-
GenericTwoBodies(&'a mut GenericJointConstraint),
15-
TwoBodies(&'a mut JointConstraint<Real, 1>),
14+
Generic(&'a mut GenericJointConstraint),
15+
Rigid(&'a mut JointConstraint<Real, 1>),
1616
#[cfg(feature = "simd-is-enabled")]
17-
SimdTwoBodies(&'a mut JointConstraint<SimdReal, SIMD_WIDTH>),
17+
SimdRigid(&'a mut JointConstraint<SimdReal, SIMD_WIDTH>),
1818
}
1919

2020
impl AnyJointConstraintMut<'_> {
2121
pub fn remove_bias(&mut self) {
2222
match self {
23-
Self::TwoBodies(c) => c.remove_bias_from_rhs(),
24-
Self::GenericTwoBodies(c) => c.remove_bias_from_rhs(),
23+
Self::Rigid(c) => c.remove_bias_from_rhs(),
24+
Self::Generic(c) => c.remove_bias_from_rhs(),
2525
#[cfg(feature = "simd-is-enabled")]
26-
Self::SimdTwoBodies(c) => c.remove_bias_from_rhs(),
26+
Self::SimdRigid(c) => c.remove_bias_from_rhs(),
2727
}
2828
}
2929

@@ -34,21 +34,19 @@ impl AnyJointConstraintMut<'_> {
3434
generic_solver_vels: &mut DVector<Real>,
3535
) {
3636
match self {
37-
Self::TwoBodies(c) => c.solve(solver_vels),
38-
Self::GenericTwoBodies(c) => {
39-
c.solve(generic_jacobians, solver_vels, generic_solver_vels)
40-
}
37+
Self::Rigid(c) => c.solve(solver_vels),
38+
Self::Generic(c) => c.solve(generic_jacobians, solver_vels, generic_solver_vels),
4139
#[cfg(feature = "simd-is-enabled")]
42-
Self::SimdTwoBodies(c) => c.solve(solver_vels),
40+
Self::SimdRigid(c) => c.solve(solver_vels),
4341
}
4442
}
4543

4644
pub fn writeback_impulses(&mut self, joints_all: &mut [JointGraphEdge]) {
4745
match self {
48-
Self::TwoBodies(c) => c.writeback_impulses(joints_all),
49-
Self::GenericTwoBodies(c) => c.writeback_impulses(joints_all),
46+
Self::Rigid(c) => c.writeback_impulses(joints_all),
47+
Self::Generic(c) => c.writeback_impulses(joints_all),
5048
#[cfg(feature = "simd-is-enabled")]
51-
Self::SimdTwoBodies(c) => c.writeback_impulses(joints_all),
49+
Self::SimdRigid(c) => c.writeback_impulses(joints_all),
5250
}
5351
}
5452
}

src/dynamics/solver/joint_constraint/joint_constraints_set.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,16 +80,16 @@ impl JointConstraintsSet {
8080
let a = self
8181
.generic_velocity_constraints
8282
.iter_mut()
83-
.map(AnyJointConstraintMut::GenericTwoBodies);
83+
.map(AnyJointConstraintMut::Generic);
8484
let b = self
8585
.velocity_constraints
8686
.iter_mut()
87-
.map(AnyJointConstraintMut::TwoBodies);
87+
.map(AnyJointConstraintMut::Rigid);
8888
#[cfg(feature = "simd-is-enabled")]
8989
let c = self
9090
.simd_velocity_constraints
9191
.iter_mut()
92-
.map(AnyJointConstraintMut::SimdTwoBodies);
92+
.map(AnyJointConstraintMut::SimdRigid);
9393
#[cfg(not(feature = "simd-is-enabled"))]
9494
return (jac, a.chain(b));
9595
#[cfg(feature = "simd-is-enabled")]
@@ -279,7 +279,7 @@ impl JointConstraintsSet {
279279
.zip(self.simd_velocity_constraints_builder.iter_mut())
280280
{
281281
let joints_id = array![|ii| joints_i[ii]];
282-
let impulse_joints = array![|ii| &joints_all[joints_i[ii] as usize].weight];
282+
let impulse_joints = array![|ii| &joints_all[joints_i[ii]].weight];
283283
JointConstraintBuilderSimd::generate(
284284
impulse_joints,
285285
bodies,
@@ -290,10 +290,7 @@ impl JointConstraintsSet {
290290
}
291291

292292
unsafe {
293-
reset_buffer(
294-
&mut self.simd_velocity_constraints,
295-
num_constraints as usize,
296-
);
293+
reset_buffer(&mut self.simd_velocity_constraints, num_constraints);
297294
}
298295
}
299296

src/dynamics/solver/joint_constraint/joint_velocity_constraint.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -394,9 +394,9 @@ impl JointConstraint<SimdReal, SIMD_WIDTH> {
394394
pub fn writeback_impulses(&self, joints_all: &mut [JointGraphEdge]) {
395395
let impulses: [_; SIMD_WIDTH] = self.impulse.into();
396396

397-
// TODO: should we move the iteration on ii deeper in the mested match?
397+
// TODO: should we move the iteration on ii deeper in the nested match?
398398
for ii in 0..SIMD_WIDTH {
399-
let joint = &mut joints_all[self.joint_id[ii] as usize].weight;
399+
let joint = &mut joints_all[self.joint_id[ii]].weight;
400400
match self.writeback_id {
401401
WritebackId::Dof(i) => joint.impulses[i] = impulses[ii],
402402
WritebackId::Limit(i) => joint.data.limits[i].impulse = impulses[ii],

src/dynamics/solver/solver_body.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ macro_rules! aos_unchecked(
5252
macro_rules! scatter(
5353
($data: ident [ $idx: ident [ $i: expr ] ] = [$($aos: ident),*]) => {
5454
unsafe {
55+
#[allow(clippy::missing_transmute_annotations)] // Different macro calls transmute to different types
5556
if ($idx[$i] as usize) < $data.len() {
5657
$data[$idx[$i] as usize] = std::mem::transmute([$($aos[$i]),*]);
5758
}
@@ -62,6 +63,7 @@ macro_rules! scatter(
6263
#[cfg(feature = "simd-is-enabled")]
6364
macro_rules! scatter_unchecked(
6465
($data: ident [ $idx: ident [ $i: expr ] ] = [$($aos: ident),*]) => {
66+
#[allow(clippy::missing_transmute_annotations)] // Different macro calls transmute to different types
6567
unsafe {
6668
*$data.get_unchecked_mut($idx[$i] as usize) = std::mem::transmute([$($aos[$i]),*]);
6769
}

src/geometry/contact_pair.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -476,9 +476,17 @@ impl SimdSolverContact {
476476
let soa3 = wide::f32x4::transpose(transmute_to_wide(aos3));
477477

478478
#[cfg(feature = "dim2")]
479-
return unsafe { std::mem::transmute([soa0, soa1, soa2]) };
479+
return unsafe {
480+
std::mem::transmute::<[[wide::f32x4; 4]; 3], SolverContactGeneric<SimdReal, 4>>([
481+
soa0, soa1, soa2,
482+
])
483+
};
480484
#[cfg(feature = "dim3")]
481-
return unsafe { std::mem::transmute([soa0, soa1, soa2, soa3]) };
485+
return unsafe {
486+
std::mem::transmute::<[[wide::f32x4; 4]; 4], SolverContactGeneric<SimdReal, 4>>([
487+
soa0, soa1, soa2, soa3,
488+
])
489+
};
482490
}
483491
}
484492

0 commit comments

Comments
 (0)