
    ]Mh                         d Z ddlT 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	             dS dS )z*Benchmark the cu2qu algorithm performance.   )*    Ng?c                  4    d t          d          D             S )Nc                 Z    g | ](}t          d  t          d          D                       )S )c              3   Z   K   | ]&}t          t          j        d d                    V  'dS )r   i   N)floatrandomrandint).0coords     Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/fontTools/cu2qu/benchmark.py	<genexpr>z,generate_curve.<locals>.<listcomp>.<genexpr>   s6      CCeFN1d++,,CCCCCC       )tuplerange)r   points     r   
<listcomp>z"generate_curve.<locals>.<listcomp>   sE        	CC%((CCCCC  r      )r    r   r   generate_curver   
   s)     1XX   r   c                  ,    t                      t          fS N)r   MAX_ERRr   r   r   setup_curve_to_quadraticr      s    W$$r   c                  N    d} d t          |           D             t          g| z  fS )N   c                 *    g | ]}t                      S r   )r   )r   curves     r   r   z-setup_curves_to_quadratic.<locals>.<listcomp>   s    ===%^===r   )r   r   )
num_curvess    r   setup_curves_to_quadraticr!      s/    J==5+<+<===y:?UVVr         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             d S )Nsetup_z with :r"   )end_z%s:c                 f     t                                 t                                fd}|S )Nc                                      S r   r   )function
setup_funcs   r   wrappedz/run_benchmark.<locals>.wrapper.<locals>.wrapped&   s    8ZZ\\**r   )globals)r,   r-   r.   s   `` r   wrapperzrun_benchmark.<locals>.wrapper"   sE    99X&YYz*
	+ 	+ 	+ 	+ 	+ 	+ r   )repeatnumberz	%5.1fusg    .A)printtimeitr1   min)moduler,   setup_suffixr1   r2   r-   r0   resultss           r   run_benchmarkr9      s    H$J (xxx6B????cL((

ehB''''   mGGHj99&QWXXXG	+W	1F:
;<<<<<r   c                  F    t          dd           t          dd           d S )Ncu2qucurve_to_quadraticcurves_to_quadratic)r9   r   r   r   mainr>   /   s*    '/000'011111r   __main__)r"   r#   r$   )__doc__r;   r	   r4   r   r   r   r!   r9   r>   __name__seedr   r   r   <module>rC      s    0 0      
  % % %W W W
= = = =*2 2 2
 zFKNNNDFFFFF r   