Skip to content

Commit 6d262e6

Browse files
Optimized kernel
Optimized the kernel by reducing divisions.
1 parent 8507ccb commit 6d262e6

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

src/struct/particle.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,14 @@ inline void Gravity(Particle& a, Particle& b, real dt)
2626

2727
real ax = G * b.m * dx * invDist3;
2828
real ay = G * b.m * dy * invDist3;
29-
real az = G * b.m * dz * invDist3;
29+
real az = G * b.m * dz * invDist3;
30+
31+
real inv_bm = real(1) / b.m;
32+
real scale = -a.m * inv_bm;
3033

31-
real bx = -ax * a.m / b.m;
32-
real by = -ay * a.m / b.m;
33-
real bz = -az * a.m / b.m;
34+
real bx = ax * scale;
35+
real by = ay * scale;
36+
real bz = az * scale;
3437

3538
a.vx += ax * dt;
3639
a.vy += ay * dt;

0 commit comments

Comments
 (0)