@@ -36,62 +36,60 @@ function Sun(): Body {
36
36
37
37
function Jupiter ( ) : Body {
38
38
return new Body (
39
- 4.84143144246472090e+00 ,
39
+ 4.84143144246472090e+00 ,
40
40
- 1.16032004402742839e+00 ,
41
41
- 1.03622044471123109e-01 ,
42
- 1.66007664274403694e-03 * DAYS_PER_YEAR ,
43
- 7.69901118419740425e-03 * DAYS_PER_YEAR ,
42
+ 1.66007664274403694e-03 * DAYS_PER_YEAR ,
43
+ 7.69901118419740425e-03 * DAYS_PER_YEAR ,
44
44
- 6.90460016972063023e-05 * DAYS_PER_YEAR ,
45
- 9.54791938424326609e-04 * SOLAR_MASS
45
+ 9.54791938424326609e-04 * SOLAR_MASS
46
46
) ;
47
47
}
48
48
49
49
function Saturn ( ) : Body {
50
50
return new Body (
51
- 8.34336671824457987e+00 ,
52
- 4.12479856412430479e+00 ,
51
+ 8.34336671824457987e+00 ,
52
+ 4.12479856412430479e+00 ,
53
53
- 4.03523417114321381e-01 ,
54
54
- 2.76742510726862411e-03 * DAYS_PER_YEAR ,
55
- 4.99852801234917238e-03 * DAYS_PER_YEAR ,
56
- 2.30417297573763929e-05 * DAYS_PER_YEAR ,
57
- 2.85885980666130812e-04 * SOLAR_MASS
55
+ 4.99852801234917238e-03 * DAYS_PER_YEAR ,
56
+ 2.30417297573763929e-05 * DAYS_PER_YEAR ,
57
+ 2.85885980666130812e-04 * SOLAR_MASS
58
58
) ;
59
59
}
60
60
61
61
function Uranus ( ) : Body {
62
62
return new Body (
63
- 1.28943695621391310e+01 ,
63
+ 1.28943695621391310e+01 ,
64
64
- 1.51111514016986312e+01 ,
65
65
- 2.23307578892655734e-01 ,
66
- 2.96460137564761618e-03 * DAYS_PER_YEAR ,
67
- 2.37847173959480950e-03 * DAYS_PER_YEAR ,
66
+ 2.96460137564761618e-03 * DAYS_PER_YEAR ,
67
+ 2.37847173959480950e-03 * DAYS_PER_YEAR ,
68
68
- 2.96589568540237556e-05 * DAYS_PER_YEAR ,
69
- 4.36624404335156298e-05 * SOLAR_MASS
69
+ 4.36624404335156298e-05 * SOLAR_MASS
70
70
) ;
71
71
}
72
72
73
73
function Neptune ( ) : Body {
74
74
return new Body (
75
- 1.53796971148509165e+01 ,
75
+ 1.53796971148509165e+01 ,
76
76
- 2.59193146099879641e+01 ,
77
- 1.79258772950371181e-01 ,
78
- 2.68067772490389322e-03 * DAYS_PER_YEAR ,
79
- 1.62824170038242295e-03 * DAYS_PER_YEAR ,
77
+ 1.79258772950371181e-01 ,
78
+ 2.68067772490389322e-03 * DAYS_PER_YEAR ,
79
+ 1.62824170038242295e-03 * DAYS_PER_YEAR ,
80
80
- 9.51592254519715870e-05 * DAYS_PER_YEAR ,
81
- 5.15138902046611451e-05 * SOLAR_MASS
81
+ 5.15138902046611451e-05 * SOLAR_MASS
82
82
) ;
83
83
}
84
84
85
85
class NBodySystem {
86
86
87
- constructor (
88
- public bodies : Body [ ]
89
- ) {
87
+ constructor ( public bodies : Body [ ] ) {
90
88
var px : float = 0.0 ;
91
89
var py : float = 0.0 ;
92
90
var pz : float = 0.0 ;
93
91
var size = bodies . length ;
94
- for ( let i = 0 ; i < size ; i ++ ) {
92
+ for ( let i = 0 ; i < size ; ++ i ) {
95
93
let b = unchecked ( bodies [ i ] ) ;
96
94
let m = b . mass ;
97
95
px += b . vx * m ;
@@ -197,16 +195,11 @@ export function init(): void {
197
195
] ) ;
198
196
}
199
197
200
- export function getBody ( index : i32 ) : Body | null {
201
- var bodies = system . bodies ;
202
- return < u32 > index < < u32 > bodies . length ? bodies [ index ] : null ;
203
- }
204
-
205
198
export function step ( ) : float {
206
199
system . advance ( 0.01 ) ;
207
200
return system . energy ( ) ;
208
201
}
209
202
210
203
export function bench ( steps : u32 ) : void {
211
- for ( let i : u32 = 0 ; i < steps ; i ++ ) system . advance ( 0.01 ) ;
204
+ for ( let i : u32 = 0 ; i < steps ; ++ i ) system . advance ( 0.01 ) ;
212
205
}
0 commit comments