def ms4_startup_done?(era, dt_max)
wp = @worldpoint[0]
if not defined? @startup_cycle
@startup_cycle = 1
acc, jerk = era.acc_and_jerk(self, wp)
timescale = era.timescale(self, wp)
wp.ms4_startup_first_round(acc, jerk, timescale, @dt_param, dt_max)
return false
elsif @startup_cycle == 1
@startup_cycle += 1
snap, crackle = era.snap_and_crackle(self, wp)
wp.ms4_startup_second_round(snap, crackle)
time = wp.time
dt = wp.next_time - time
for i in (1..3)
@worldpoint.unshift(wp.ms4_full_extrapolate(time - i*dt))
end
return true
else
raise "@startup_cycle = #{@startup_cycle} != 1"
end
end