
    hx                         S r SSK7  SSKJr  SSKrSSKrSrSrS rS	 r	SS
 jr
S r\S:X  a  \R                  " S5        \" 5         gg)z*Benchmark the qu2cu algorithm performance.   )*    )curve_to_quadraticNg      ?   c           	          [        SSU -  -   5       Vs/ s H  n[        S [        S5       5       5      PM      nn/ n[        U 5       H(  nUR                  [        X$S-  US-  S-    5      5        M*     U$ s  snf )Nr      c              3   b   #    U  H%  n[        [        R                  " S S5      5      v   M'     g7f)r   i   N)floatrandomrandint).0coords     K/var/www/html/env/lib/python3.13/site-packages/fontTools/qu2cu/benchmark.py	<genexpr>"generate_curves.<locals>.<genexpr>   s#     C(eFNN1d+,,(s   -/      )rangetupleappend)npointpointscurvesis        r   generate_curvesr      s     1q1u9%%E 	C%(CC%   F1XeFq51q519567 Ms   %A6c                  z    [        [        5      n U  Vs/ s H  n[        U[        5      PM     nnU[        4$ s  snf N)r   
NUM_CURVESr   MAX_ERR)r   curve
quadraticss      r   setup_quadratic_to_curvesr#      s9    Z(FBHI&$UG4&JIw Js   8c                     SU-   nU(       a  [        U< SU< S3SS9  USU-   -  nO[        SU-  SS9  S n[        R                  " U" X5      X4S	9n[        S
[        U5      S-  U-  -  5        g )Nsetup_z with : )end_z%s:c                 L   ^ ^ [        5       T    m [        5       T   mU U4S jnU$ )Nc                     > T " T" 5       6 $ r    )function
setup_funcs   r   wrapped/run_benchmark.<locals>.wrapper.<locals>.wrapped)   s    Z\**    )globals)r-   r.   r/   s   `` r   wrapperrun_benchmark.<locals>.wrapper%   s'    9X&Yz*
	+ r1   )repeatnumberz	%5.1fusg    .A)printtimeitr5   min)moduler-   setup_suffixr5   r6   r.   r3   resultss           r   run_benchmarkr=      ss    H$Jx6B?cL((
ehB' mmGH9&XG	+W	1F:
;<r1   c                      [        SS5        g )Nqu2cuquadratic_to_curves)r=   r,   r1   r   mainrA   2   s    '01r1   __main__)r'      r   )__doc__r?   fontTools.cu2qur   r   r8   r    r   r   r#   r=   rA   __name__seedr,   r1   r   <module>rH      sQ    0  .  

=*2 z
KKNF r1   