
    ]Mhx                         d Z ddlT ddlmZ 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 qu2cu algorithm performance.   )*    )curve_to_quadraticNg      ?   c           	          d t          dd| z  z             D             }g }t          |           D ]5}|                    t          ||dz  |dz  dz                                 6|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/qu2cu/benchmark.py	<genexpr>z-generate_curves.<locals>.<listcomp>.<genexpr>   s6      CCeFN1d++,,CCCCCC       )tuplerange)r   points     r   
<listcomp>z#generate_curves.<locals>.<listcomp>   sE        	CC%((CCCCC  r   r         )r   appendr   )npointscurvesis       r   generate_curvesr      s     1q1u9%%  F F1XX 8 8eF1q51q519#45667777Mr   c                  T    t          t                    } d | D             }|t          fS )Nc                 8    g | ]}t          |t                    S  )r   MAX_ERR)r   curves     r   r   z-setup_quadratic_to_curves.<locals>.<listcomp>   s#    III$UG44IIIr   )r   
NUM_CURVESr"   )r   
quadraticss     r   setup_quadratic_to_curvesr&      s-    Z((FII&IIIJwr       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 )Nr!   )function
setup_funcs   r   wrappedz/run_benchmark.<locals>.wrapper.<locals>.wrapped)   s    8ZZ\\**r   )globals)r0   r1   r2   s   `` r   wrapperzrun_benchmark.<locals>.wrapper%   sE    99X&YYz*
	+ 	+ 	+ 	+ 	+ 	+ r   )repeatnumberz	%5.1fusg    .A)printtimeitr5   min)moduler0   setup_suffixr5   r6   r1   r4   resultss           r   run_benchmarkr=      s    H$J (xxx6B????cL((

ehB''''   mGGHj99&QWXXXG	+W	1F:
;<<<<<r   c                  &    t          dd           d S )Nqu2cuquadratic_to_curves)r=   r!   r   r   mainrA   2   s    '011111r   __main__)r'   r(   r   )__doc__r?   fontTools.cu2qur   r   r8   r"   r$   r   r&   r=   rA   __name__seedr!   r   r   <module>rG      s    0 0     . . . . . .  

    = = = =*2 2 2 zFKNNNDFFFFF r   