# File hbody.rb, line 110
  def write_diagnostics(nsteps, time)
    etot = ekin + epot
    STDERR.print "at time t = \#{sprintf(\"%g\", time)}, after \#{nsteps} steps :\n  E_kin = \#{sprintf(\"%.3g\", ekin)} ,\\\n E_pot =  \#{sprintf(\"%.3g\", epot)} ,\\\n E_tot = \#{sprintf(\"%.3g\", etot)}\n             E_tot - E_init = \#{sprintf(\"%.3g\", etot-@e0)}\n  (E_tot - E_init) / E_init =\#{sprintf(\"%.3g\", (etot - @e0) / @e0 )}\nEND\n  end\n\n  def to_s\n    \"  mass = \" + @mass.to_s + \"\\n\" +\n    \"   pos = \" + @pos.join(\", \") + \"\\n\" +\n    \"   vel = \" + @vel.join(\", \") + \"\\n\"\n  end\n\n  def pp               \# pretty print\n    print to_s\n  end\n\n  def simple_print\n    printf(\"%24.16e\\n\", @mass)\n    @pos.each{|x| printf(\"%24.16e\", x)}; print \"\\n\"\n    @vel.each{|x| printf(\"%24.16e\", x)}; print \"\\n\"\n  end\n\n  def simple_read\n    @mass = gets.to_f\n    @pos = gets.split.map{|x| x.to_f}.to_v\n    @vel = gets.split.map{|x| x.to_f}.to_v\n  end\n\nend\n"