MCPcopy Index your code
hub / github.com/RustPython/RustPython / advance

Function advance

benches/benchmarks/nbody.py:53–72  ·  view source on GitHub ↗
(dt, n, bodies=SYSTEM, pairs=PAIRS)

Source from the content-addressed store, hash-verified

51
52
53def advance(dt, n, bodies=SYSTEM, pairs=PAIRS):
54 for i in range(n):
55 for (([x1, y1, z1], v1, m1),
56 ([x2, y2, z2], v2, m2)) in pairs:
57 dx = x1 - x2
58 dy = y1 - y2
59 dz = z1 - z2
60 mag = dt * ((dx * dx + dy * dy + dz * dz) ** (-1.5))
61 b1m = m1 * mag
62 b2m = m2 * mag
63 v1[0] -= dx * b2m
64 v1[1] -= dy * b2m
65 v1[2] -= dz * b2m
66 v2[0] += dx * b1m
67 v2[1] += dy * b1m
68 v2[2] += dz * b1m
69 for (r, [vx, vy, vz], m) in bodies:
70 r[0] += dt * vx
71 r[1] += dt * vy
72 r[2] += dt * vz
73
74
75def report_energy(bodies=SYSTEM, pairs=PAIRS, e=0.0):

Callers 2

mainFunction · 0.85
advance_charMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected