U
    d                     @   sn   d Z ddlT ddlmZ ddlZddlZdZdZdd	 Zd
d Z	dddZ
dd Zedkrjed e  dS )*Benchmark the qu2cu algorithm performance.   )*    )curve_to_quadraticNg      ?   c                 C   sR   dd t dd|   D }g }t | D ]&}|t||d |d d   q&|S )Nc                 S   s"   g | ]}t d d tdD qS )c                 s   s   | ]}t td dV  qdS )r   i   N)floatrandomrandint).0Zcoord r   Z/data/tchu/MolecularDynamics/venv/lib/python3.8/site-packages/fontTools/qu2cu/benchmark.py	<genexpr>   s     z-generate_curves.<locals>.<listcomp>.<genexpr>   )tuplerange)r
   pointr   r   r   
<listcomp>   s   z#generate_curves.<locals>.<listcomp>r         )r   appendr   )nZpointscurvesir   r   r   generate_curves   s    $r   c                  C   s   t t} dd | D }|tfS )Nc                 S   s   g | ]}t |tqS r   )r   MAX_ERR)r
   Zcurver   r   r   r      s     z-setup_quadratic_to_curves.<locals>.<listcomp>)r   
NUM_CURVESr   )r   Z
quadraticsr   r   r   setup_quadratic_to_curves   s    r       c                 C   sx   d| }|r.t d||f dd |d| 7 }nt d| dd dd }tj|||||d	}t d
t|d |   d S )NZsetup_z%s with %s:r   )end_z%s:c                    s&   t     t    fdd}|S )Nc                      s
      S )Nr   r   function
setup_funcr   r   wrapped)   s    z/run_benchmark.<locals>.wrapper.<locals>.wrapped)globals)r"   r#   r$   r   r!   r   wrapper%   s    

zrun_benchmark.<locals>.wrapper)repeatnumberz	%5.1fusg    .A)printtimeitr'   min)moduler"   Zsetup_suffixr'   r(   r#   r&   resultsr   r   r   run_benchmark   s    	r.   c                   C   s   t dd dS )r   qu2cuZquadratic_to_curvesN)r.   r   r   r   r   main2   s    r0   __main__)r   r   r   )__doc__r/   ZfontTools.cu2qur   r   r*   r   r   r   r   r.   r0   __name__seedr   r   r   r   <module>   s   

