
    jkeE                         d Z ddl ddlZddlZdZd Zd Zd Zdd	Zd
 Z	e
dk(  r ej                  d        e	        yy)*Benchmark the cu2qu algorithm performance.   )*    Ng?c            	      p    t        d      D  cg c]  } t        d t        d      D               c} S c c} w )N   c              3   Z   K   | ]#  }t        t        j                  d d             % yw)r   i   N)floatrandomrandint).0coords     ;/usr/lib/python3/dist-packages/fontTools/cu2qu/benchmark.py	<genexpr>z!generate_curve.<locals>.<genexpr>   s      CeFNN1d+,Cs   )+   )rangetuple)points    r   generate_curver   
   s7     1X 	C%(CC  s   "3c                  "    t               t        fS N)r   MAX_ERR     r   setup_curve_to_quadraticr      s    W$$r   c                  f    d} t        |       D cg c]  }t                c}t        g| z  fS c c}w )N   )r   r   r   )
num_curvescurves     r   setup_curves_to_quadraticr      s/    J+0+<=%^=y:?UVV=s   .c                     d|z   }|rt        |d|dd       |d|z   z  }nt        d|z  d       d }t        j                   |||      ||	      }t        d
t        |      dz  |z  z         y )Nsetup_z with : )end_z%s:c                 J     t                    t                   fd}|S )Nc                                 S r   r   )function
setup_funcs   r   wrappedz/run_benchmark.<locals>.wrapper.<locals>.wrapped&   s    Z\**r   )globals)r(   r)   r*   s   `` r   wrapperzrun_benchmark.<locals>.wrapper"   s'    9X&Yz*
	+ r   )repeatnumberz	%5.1fusg    .A)printtimeitr-   min)moduler(   setup_suffixr-   r.   r)   r,   resultss           r   run_benchmarkr5      sx    H$Jx6B?cL((
ehB' mmGHj9&QWXG	+W	1F:
;<r   c                  4    t        dd       t        dd       y)r   cu2qucurve_to_quadraticcurves_to_quadraticN)r5   r   r   r   mainr:   /   s    '/0'01r   __main__)r#      i  )__doc__r7   r
   r0   r   r   r   r   r5   r:   __name__seedr   r   r   <module>r@      sQ    0   
%W
=*2 zFKKNF r   