@@ -170,67 +170,80 @@ mod Body {
170
170
// was 4 * PI * PI originally
171
171
pub const DAYS_PER_YEAR : float = 365.24 ;
172
172
173
- pub struct Props
174
- { mut x: float ,
175
- mut y: float ,
176
- mut z: float ,
177
- mut vx: float ,
178
- mut vy: float ,
179
- mut vz: float ,
180
- mass : float }
173
+ pub struct Props {
174
+ x : float ,
175
+ y : float ,
176
+ z : float ,
177
+ vx : float ,
178
+ vy : float ,
179
+ vz : float ,
180
+ mass : float
181
+ }
181
182
182
183
pub fn jupiter ( ) -> Body :: Props {
183
- return Props { mut x: 4.84143144246472090e+00 ,
184
- mut y: -1.16032004402742839e+00 ,
185
- mut z: -1.03622044471123109e-01 ,
186
- mut vx: 1.66007664274403694e-03 * DAYS_PER_YEAR ,
187
- mut vy: 7.69901118419740425e-03 * DAYS_PER_YEAR ,
188
- mut vz: -6.90460016972063023e-05 * DAYS_PER_YEAR ,
189
- mass : 9.54791938424326609e-04 * SOLAR_MASS } ;
184
+ return Props {
185
+ x : 4.84143144246472090e+00 ,
186
+ y : -1.16032004402742839e+00 ,
187
+ z : -1.03622044471123109e-01 ,
188
+ vx : 1.66007664274403694e-03 * DAYS_PER_YEAR ,
189
+ vy : 7.69901118419740425e-03 * DAYS_PER_YEAR ,
190
+ vz : -6.90460016972063023e-05 * DAYS_PER_YEAR ,
191
+ mass : 9.54791938424326609e-04 * SOLAR_MASS
192
+ } ;
190
193
}
191
194
192
195
pub fn saturn ( ) -> Body :: Props {
193
- return Props { mut x: 8.34336671824457987e+00 ,
194
- mut y: 4.12479856412430479e+00 ,
195
- mut z: -4.03523417114321381e-01 ,
196
- mut vx: -2.76742510726862411e-03 * DAYS_PER_YEAR ,
197
- mut vy: 4.99852801234917238e-03 * DAYS_PER_YEAR ,
198
- mut vz: 2.30417297573763929e-05 * DAYS_PER_YEAR ,
199
- mass : 2.85885980666130812e-04 * SOLAR_MASS } ;
196
+ return Props {
197
+ x : 8.34336671824457987e+00 ,
198
+ y : 4.12479856412430479e+00 ,
199
+ z : -4.03523417114321381e-01 ,
200
+ vx : -2.76742510726862411e-03 * DAYS_PER_YEAR ,
201
+ vy : 4.99852801234917238e-03 * DAYS_PER_YEAR ,
202
+ vz : 2.30417297573763929e-05 * DAYS_PER_YEAR ,
203
+ mass : 2.85885980666130812e-04 * SOLAR_MASS
204
+ } ;
200
205
}
201
206
202
207
pub fn uranus ( ) -> Body :: Props {
203
- return Props { mut x: 1.28943695621391310e+01 ,
204
- mut y: -1.51111514016986312e+01 ,
205
- mut z: -2.23307578892655734e-01 ,
206
- mut vx: 2.96460137564761618e-03 * DAYS_PER_YEAR ,
207
- mut vy: 2.37847173959480950e-03 * DAYS_PER_YEAR ,
208
- mut vz: -2.96589568540237556e-05 * DAYS_PER_YEAR ,
209
- mass : 4.36624404335156298e-05 * SOLAR_MASS } ;
208
+ return Props {
209
+ x : 1.28943695621391310e+01 ,
210
+ y : -1.51111514016986312e+01 ,
211
+ z : -2.23307578892655734e-01 ,
212
+ vx : 2.96460137564761618e-03 * DAYS_PER_YEAR ,
213
+ vy : 2.37847173959480950e-03 * DAYS_PER_YEAR ,
214
+ vz : -2.96589568540237556e-05 * DAYS_PER_YEAR ,
215
+ mass : 4.36624404335156298e-05 * SOLAR_MASS
216
+ } ;
210
217
}
211
218
212
219
pub fn neptune ( ) -> Body :: Props {
213
- return Props { mut x: 1.53796971148509165e+01 ,
214
- mut y: -2.59193146099879641e+01 ,
215
- mut z: 1.79258772950371181e-01 ,
216
- mut vx: 2.68067772490389322e-03 * DAYS_PER_YEAR ,
217
- mut vy: 1.62824170038242295e-03 * DAYS_PER_YEAR ,
218
- mut vz: -9.51592254519715870e-05 * DAYS_PER_YEAR ,
219
- mass : 5.15138902046611451e-05 * SOLAR_MASS } ;
220
+ return Props {
221
+ x : 1.53796971148509165e+01 ,
222
+ y : -2.59193146099879641e+01 ,
223
+ z : 1.79258772950371181e-01 ,
224
+ vx : 2.68067772490389322e-03 * DAYS_PER_YEAR ,
225
+ vy : 1.62824170038242295e-03 * DAYS_PER_YEAR ,
226
+ vz : -9.51592254519715870e-05 * DAYS_PER_YEAR ,
227
+ mass : 5.15138902046611451e-05 * SOLAR_MASS
228
+ } ;
220
229
}
221
230
222
231
pub fn sun ( ) -> Body :: Props {
223
- return Props { mut x: 0.0 ,
224
- mut y: 0.0 ,
225
- mut z: 0.0 ,
226
- mut vx: 0.0 ,
227
- mut vy: 0.0 ,
228
- mut vz: 0.0 ,
229
- mass : SOLAR_MASS } ;
232
+ return Props {
233
+ x : 0.0 ,
234
+ y : 0.0 ,
235
+ z : 0.0 ,
236
+ vx : 0.0 ,
237
+ vy : 0.0 ,
238
+ vz : 0.0 ,
239
+ mass : SOLAR_MASS
240
+ } ;
230
241
}
231
242
232
243
pub fn offset_momentum ( props : & mut Body :: Props ,
233
- px : float , py : float , pz : float ) {
244
+ px : float ,
245
+ py : float ,
246
+ pz : float ) {
234
247
props. vx = -px / SOLAR_MASS ;
235
248
props. vy = -py / SOLAR_MASS ;
236
249
props. vz = -pz / SOLAR_MASS ;
0 commit comments