
    jke                         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)*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     ;/usr/lib/python3/dist-packages/fontTools/qu2cu/benchmark.py	<genexpr>z"generate_curves.<locals>.<genexpr>   s      CeFNN1d+,Cs   )+      )rangetupleappend)npointpointscurvesis        r   generate_curvesr      s     1q1u9% 	C%(CCF  F1X 8eF1q51q519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(FBHI$UG4IJ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'    9X&Yz*
	+ r0   )repeatnumberz	%5.1fusg    .A)printtimeitr3   min)moduler-   setup_suffixr3   r4   r.   r2   resultss           r   run_benchmarkr;      sx    H$Jx6B?cL((
ehB' mmGHj9&QWXG	+W	1F:
;<r0   c                      t        dd       y)r   qu2cuquadratic_to_curvesN)r;   r,   r0   r   mainr?   2   s    '01r0   __main__)r'      r   )__doc__r=   fontTools.cu2qur   r   r6   r    r   r   r#   r;   r?   __name__seedr,   r0   r   <module>rF      sS    0  .  

=*2
 zFKKNF r0   