Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit c042f33

Browse files
committed
clean up code, fudge approx true
1 parent 70305c5 commit c042f33

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

crates/core_simd/examples/nbody.rs

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ pub struct Body {
1414
pub mass: f64,
1515
}
1616

17-
// translation up to here
1817
const N_BODIES: usize = 5;
1918
const BODIES: [Body; N_BODIES] = [
2019
// sun:
@@ -134,7 +133,6 @@ pub fn advance(bodies: &mut [Body; N_BODIES], dt: f64) {
134133
(r[i + 1] * r[i + 1]).horizontal_sum(),
135134
]);
136135
let dmags = f64x2::splat(dt) / (d2s * d2s.sqrt());
137-
// dmags.write_to_slice_unaligned(&mut mag[i..]);
138136
mag[i] = dmags[0];
139137
mag[i + 1] = dmags[1];
140138
i += 2;
@@ -154,12 +152,6 @@ pub fn advance(bodies: &mut [Body; N_BODIES], dt: f64) {
154152
}
155153
}
156154

157-
// #[inline]
158-
// pub unsafe fn write_to_slice_unaligned(slice: &mut SimdF64::<LANES>) {
159-
// let target_ptr = slice.get_unchecked_mut(0) as *mut f64x2;
160-
// *(target_ptr as *mut f64x2) = SimdF64;
161-
// }
162-
163155
pub fn run(n: usize) -> (f64, f64) {
164156
let mut bodies = BODIES;
165157
offset_momentum(&mut bodies);
@@ -172,8 +164,9 @@ pub fn run(n: usize) -> (f64, f64) {
172164
(energy_before, energy_after)
173165
}
174166

175-
fn approx_eq_f32(a: f32, b: f32) -> bool {
176-
(a - b).abs() < 0.00000001
167+
// Good enough for demonstration purposes, not going for strictness here.
168+
fn approx_eq_f64(a: f64, b: f64) -> bool {
169+
(a - b).abs() < 0.00001
177170
}
178171

179172
#[cfg(test)]
@@ -183,9 +176,8 @@ mod tests {
183176
use super::*;
184177
const OUTPUT: [f64; 2] = [-0.169075164, -0.169087605];
185178
let (energy_before, energy_after) = super::run(1000);
186-
assert!(approx_eq_f32(energy_before as f32, OUTPUT[0] as f32));
187-
assert!(approx_eq_f32(energy_after as f32, OUTPUT[1] as f32));
188-
// }
179+
assert!(approx_eq_f64(energy_before, OUTPUT[0]));
180+
assert!(approx_eq_f64(energy_after, OUTPUT[1]));
189181
}
190182
}
191183

0 commit comments

Comments
 (0)