o
    h                     @   s   d dl T dd ZdS )   )*c           #         s  |d u rt tt| j}| j| }j||  }| j}fdd|D }|d   fdd|D }	tt|	dd d\}
}|	d }||
 d }||
 d	 }||| k rMtj| }d
}|sM||ksl||| krMg }|| || fD ]|}|d }|d	 }|d
 d }|d d }|d }|r|t|d  }|| }|| }|| | }|| d d	 ||  d }|| d | }|| d | }|dkrt	|| |n	||k rt
d nd}t |t|t|| qv|d fdd d D f dd   |d g }|D ]} fdd| d D f| dd   }!||! qfdd|D }	tt|	dd d\}
}|	d }||| k rM	 |rT|| nd}"td|" |"||fS )Nc                    s   g | ]} j | qS  )greenVectors).0i)glyph1r   /var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/fontTools/varLib/interpolatableTestStartingPoint.py
<listcomp>
   s    z'test_starting_point.<locals>.<listcomp>    c                       g | ]}t  d  |d  qS r
   vdiff_hypot2_complex)r   c1)c0r   r   r	      s    c                 S      | d S Nr   r   xr   r   r   <lambda>       z%test_starting_point.<locals>.<lambda>)keyr         g      ?      c                    "   g | ]}t  |j|jf qS r   complextransformPointrealimagr   pttransr   r   r	   L   s   " c                    r   r   r   r"   r$   r   r   r	   R   s    c                    r   r   r   )r   new_c1)new_c0r   r   r	   Z   s    c                 S   r   r   r   r   r   r   r   r   ]   r   z!test-starting-point: tolerance %g)listrangelenisomorphismsr   min	enumeratepointsabsatan2pi	Transformrotatescalesqrtappendlogdebug)#glyph0r   ix	tolerancematchingcontour0contour1	m0Vectors	m1Vectorscostsmin_cost_idxmin_cost
first_costproposed_pointreverse
num_pointsleeway
transformsvectormeanXmeanYstddevXstddevYcorrelationacbdeltalambda1lambda2thetanew_contour1r   r&   this_tolerancer   )r   r   r'   r%   r   test_starting_point   s   
*





rY   N)interpolatableHelpersrY   r   r   r   r   <module>   s    