def tick(step = nil)

      if step.nil?
        @current += 1
      else
        @current = step
      end

      percent = @current.to_f/ @max.to_f
      if percent - @last_report > 1.to_f/@num_reports.to_f 
        report
        @last_report=percent
      end

      nil
    end
def tick(step = nil)

      if step.nil?
        @current += 1
      else
        @current = step
      end

      percent = @current.to_f/ @max.to_f
      if percent - @last_report > 1.to_f/@num_reports.to_f 
        report
        @last_report=percent
      end

      nil
    end
Creates a new instance. Max is the total number of iterations of the
 loop. The depth represents how many other loops are above this one,
 this information is used to find the place to print the progress
 report.

 Used to register a new completed loop iteration.