Ë
    £ehx  ã                   óŽ   — d Z ddl­ 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«        yy)z*Benchmark the qu2cu algorithm performance.é   )Ú*é    )Úcurve_to_quadraticNg      à?é   c           	      óî   — t        dd| z  z   «      D �cg c]  }t        d„ t        d«      D «       «      ‘Œ }}g }t        | «      D ](  }|j                  t        ||dz  |dz  dz    «      «       Œ* |S c c}w )Nr   é   c              3   óZ   K  — | ]#  }t        t        j                  d d«      «      –— Œ% y­w)r   i   N)ÚfloatÚrandomÚrandint)Ú.0Úcoords     úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/qu2cu/benchmark.pyú	<genexpr>z"generate_curves.<locals>.<genexpr>   s    è ø€ ÒC°Œe”F—N‘N 1 dÓ+×,ÑCùs   ‚)+é   é   )ÚrangeÚtupleÚappend)ÚnÚpointÚpointsÚcurvesÚis        r   Úgenerate_curvesr      s…   € ô ˜1˜q 1™u™9Ó%öàô 	ÑC¼%À»(ÔCÕCð€Fð ð €FÜ�1‹Xò 8ˆØ�‰”e˜F 1 q¡5¨1¨q©5°1©9Ð5Ó6Õ7ð8à€Mùòs   ”"A2c                  ót   — t        t        «      } | D �cg c]  }t        |t        «      ‘Œ }}|t        fS c c}w ©N)r   Ú
NUM_CURVESr   ÚMAX_ERR)r   ÚcurveÚ
quadraticss      r   Úsetup_quadratic_to_curvesr"      s8   € ÜœZÓ(€FØBHÖI¸Ô$ U¬GÕ4ÐI€JÐIØ”wÐÐùò Js   ”5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   © )ÚfunctionÚ
setup_funcs   €€r   Úwrappedz/run_benchmark.<locals>.wrapper.<locals>.wrapped)   s   ø€ Ù™Z›\Ð*Ð*ó    )Úglobals)r,   r-   r.   s   `` r   Úwrapperzrun_benchmark.<locals>.wrapper%   s'   ù€ Ü“9˜XÑ&ˆÜ“Y˜zÑ*ˆ
õ	+ð ˆr/   )ÚrepeatÚnumberz	%5.1fusg    €„.A)ÚprintÚtimeitr2   Úmin)Úmoduler,   Úsetup_suffixr2   r3   r-   r1   Úresultss           r   Úrun_benchmarkr:      sx   € Ø˜HÑ$€JÙÜšxªÐ6¸BÕ?Ø�c˜LÑ(Ñ(‰
äˆe�hÑ BÕ'òô �m‰m™G H¨jÓ9À&ÐQWÔX€GÜ	ˆ+œ˜W›¨	Ñ1°FÑ:Ñ
;Õ<r/   c                  ó   — t        dd«       y )NÚqu2cuÚquadratic_to_curves)r:   r+   r/   r   Úmainr>   2   s   € Ü�'Ð0Õ1r/   Ú__main__)r&   é   r   )Ú__doc__r<   ÚfontTools.cu2qur   r   r5   r   r   r   r"   r:   r>   Ú__name__Úseedr+   r/   r   ú<module>rE      sS   ðÙ 0ä Ý .Û Û à
€Ø€
òòó=ò*2ð ˆzÒØ€F‡K�K�„NÙ…Fð r/   