§
    ¢”j  ã                   óŠ   — 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     úh/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/cu2qu/benchmark.pyú	<genexpr>z,generate_curve.<locals>.<listcomp>.<genexpr>   s6   è è € ÐCÐC°�e•F”N 1 dÑ+Ô+Ñ,Ô,Ð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)   € ðð å˜1‘X”Xðñ ô ð 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   ø€ Ø�8˜Z˜Z™\œ\Ð*Ð*r   )Úglobals)r,   r-   r.   s   `` r   Úwrapperzrun_benchmark.<locals>.wrapper"   sE   øø€ Ý‘9”9˜XÔ&ˆÝ‘Y”Y˜zÔ*ˆ
ð	+ð 	+ð 	+ð 	+ð 	+ð 	+ð ˆr   )ÚrepeatÚnumberz	%5.1fusg    €„.A)ÚprintÚtimeitr1   Úmin)Úmoduler,   Úsetup_suffixr1   r2   r-   r0   Úresultss           r   Úrun_benchmarkr9      sº   € Ø˜HÑ$€JØð (Ý˜x˜x˜x¨¨¨Ð6¸BÐ?Ñ?Ô?Ð?Ø�c˜LÑ(Ñ(ˆ
ˆ
åˆe�hÑ BÐ'Ñ'Ô'Ð'ðð ð õ Œm˜G˜G H¨jÑ9Ô9À&ÐQWÐXÑXÔX€GÝ	ˆ+�˜W™œ¨	Ñ1°FÑ:Ñ
;Ñ<Ô<Ð<Ð<Ð<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ÒÐØ€F„K��N„N€NØ€D�F„F€F€F€Fð Ðr   