o
    h                     @   sj   d Z ddlT ddlZddlZdZdd Zdd	 Zd
d ZdddZdd Z	e
dkr3ed e	  dS dS )z*Benchmark the cu2qu algorithm performance.   )*    Ng?c                   C   s   dd t dD 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).0coord r	   m/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/fontTools/cu2qu/benchmark.py	<genexpr>   s    z,generate_curve.<locals>.<listcomp>.<genexpr>   )tuplerange)r   pointr	   r	   r
   
<listcomp>   s    z"generate_curve.<locals>.<listcomp>   )r   r	   r	   r	   r
   generate_curve
   s   r   c                   C   s
   t  tfS N)r   MAX_ERRr	   r	   r	   r
   setup_curve_to_quadratic      
r   c                  C   s    d} dd t | D tg|  fS )N   c                 S   s   g | ]}t  qS r	   )r   )r   curver	   r	   r
   r      s    z-setup_curves_to_quadratic.<locals>.<listcomp>)r   r   )
num_curvesr	   r	   r
   setup_curves_to_quadratic   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 )Nsetup_z%s with %s:r   )end_z%s:c                    s&   t     t    fdd}|S )Nc                      s
      S r   r	   r	   function
setup_funcr	   r
   wrapped&   r   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"   setup_suffixr'   r(   r#   r&   resultsr	   r	   r
   run_benchmark   s   	r/   c                   C   s   t dd t dd d S )Ncu2qucurve_to_quadraticcurves_to_quadratic)r/   r	   r	   r	   r
   main/   s   
r3   __main__)r   r   r   )__doc__r0   r   r*   r   r   r   r   r/   r3   __name__seedr	   r	   r	   r
   <module>   s    


