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 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/eduruby.in/lip-sync/lip-sync-env/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
   Z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   complexZ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lenZisomorphismsr   min	enumerateZpointsabsatan2piZ	Transformrotatescalesqrtappendlogdebug)#Zglyph0r   ZixZ	toleranceZmatchingZcontour0Zcontour1Z	m0VectorsZ	m1VectorsZcostsZmin_cost_idxZmin_costZ
first_costZproposed_pointreverseZ
num_pointsZleewayZ
transformsZvectorZmeanXZmeanYZstddevXZstddevYZcorrelationacbdeltaZlambda1Zlambda2thetaZnew_contour1r   r$   Zthis_tolerancer   )r   r   r%   r#   r   test_starting_point   s   
*





r:   N)ZinterpolatableHelpersr:   r   r   r   r   <module>   s    