§
    ¢”jx  ã                   ó”   — 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     úh/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/qu2cu/benchmark.pyú	<genexpr>z-generate_curves.<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_curves.<locals>.<listcomp>   sE   € ð ð ð àõ 	ÐCÐC½%À¹(¼(ÐCÑCÔCÑCÔCðð ð r   r   é   é   )r   Úappendr   )ÚnÚpointsÚcurvesÚis       r   Úgenerate_curvesr      s„   € ðð å˜1˜q 1™u™9Ñ%Ô%ðñ ô €Fð €FÝ�1‰XŒXð 8ð 8ˆØ�Š•e˜F 1 q¡5¨1¨q©5°1©9Ð#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¸Õ$ U­GÑ4Ô4ÐIÐIÐIr   )r   Ú
NUM_CURVESr"   )r   Ú
quadraticss     r   Úsetup_quadratic_to_curvesr&      s-   € Ý�ZÑ(Ô(€FØIÐIÀ&ÐIÑIÔI€JØ•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   ø€ Ø�8˜Z˜Z™\œ\Ð*Ð*r   )Úglobals)r0   r1   r2   s   `` r   Úwrapperzrun_benchmark.<locals>.wrapper%   sE   øø€ Ý‘9”9˜XÔ&ˆÝ‘Y”Y˜zÔ*ˆ
ð	+ð 	+ð 	+ð 	+ð 	+ð 	+ð ˆr   )ÚrepeatÚnumberz	%5.1fusg    €„.A)ÚprintÚtimeitr5   Úmin)Úmoduler0   Úsetup_suffixr5   r6   r1   r4   Úresultss           r   Úrun_benchmarkr=      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                  ó&   — 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ÒÐØ€F„K��N„N€NØ€D�F„F€F€F€Fð Ðr   