parameters: (reps,func,*args,**kw)
return_statement: return tot_time,av_time,out
docstring: timings_out(reps,func,*args,**kw) -> (t_total,t_per_call,output)
  
      Execute a function reps times, return a tuple with the elapsed total
      CPU time in seconds, the time per call and the function's output.
  
      Under Unix, the return value is the sum of user+system time consumed by
      the process, computed via the resource module.  This prevents problems
      related to the wraparound effect which the time.clock() function has.
  
      Under Windows the return value is in wall clock seconds. See the
      documentation for the time module for more details.
docstring_summary: timings_out(reps,func,*args,**kw) -> (t_total,t_per_call,output)
docstring_tokens: timings_out ( reps func * args ** kw ) - > ( t_total t_per_call output )
function: def timings_out(reps,func,*args,**kw):
      """timings_out(reps,func,*args,**kw) -> (t_total,t_per_call,output)
  
      Execute a function reps times, return a tuple with the elapsed total
      CPU time in seconds, the time per call and the function's output.
  
      Under Unix, the return value is the sum of user+system time consumed by
      the process, computed via the resource module.  This prevents problems
      related to the wraparound effect which the time.clock() function has.
  
      Under Windows the return value is in wall clock seconds. See the
      documentation for the time module for more details."""
  
      reps = int(reps)
      assert reps >=1, 'reps must be >= 1'
      if reps==1:
          start = clock()
          out = func(*args,**kw)
          tot_time = clock()-start
      else:
          rng = xrange(reps-1) # the last time is executed separately to store output
          start = clock()
          for dummy in rng: func(*args,**kw)
          out = func(*args,**kw)  # one last time
          tot_time = clock()-start
      av_time = tot_time / reps
      return tot_time,av_time,out
function_tokens: def timings_out ( reps , func , * args , * * kw ) : reps = int ( reps ) assert reps >= 1 , 'reps must be >= 1' if reps == 1 : start = clock ( ) out = func ( * args , * * kw ) tot_time = clock ( ) - start else : rng = xrange ( reps - 1 ) # the last time is executed separately to store output start = clock ( ) for dummy in rng : func ( * args , * * kw ) out = func ( * args , * * kw ) # one last time tot_time = clock ( ) - start av_time = tot_time / reps return tot_time , av_time , out