o
    `i                     @   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 rKtj| }d
}|sK||ksl||| krKg }|| || fD ]z}|d
 d }|d d }|d }|r|t|d  }|| }|| }|| | }|| d d	 ||  d }|| d | }|| d | }|dkrt	|| |n	||k rt
d nd}t ||dk rd}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 rK	 |rR|| nd} td|  | ||fS )Nc                    s   g | ]} j | qS  )greenVectors).0i)glyph1r   n/home/ubuntu/SoloSpeech/.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	   N   s   " c                    r   r   r   r"   r$   r   r   r	   T   s    c                    r   r   r   )r   new_c1)new_c0r   r   r	   \   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stddevXstddevYcorrelationacbdeltalambda1lambda2thetanew_contour1r   r&   this_tolerancer   )r   r   r'   r%   r   test_starting_point   s   
*





rW   N)interpolatableHelpersrW   r   r   r   r   <module>   s    