U
    Dvf                     @   s   d dl T dd ZdS )   )*c           #         s  |d k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 rtj| }d
}|s||ks||| krg }|| || fD ]}|d }|d	 }|d
 d }|d d }|d t|d  }|| }|| }|| | }|| d d	 ||  d }|| d | }|| d | }|dkrt	|| |n||k rt
d nd}t |t|t|| q|d fdd d D f dd   |d g }|D ]4} fdd| d D f| dd   }!||! qfdd|D }	tt|	dd d\}
}|	d }||| k r|r|| nd}"td|" |"||fS )Nc                    s   g | ]} j | qS  )greenVectors).0i)glyph1r   T/tmp/pip-unpacked-wheel-qlge9rch/fontTools/varLib/interpolatableTestStartingPoint.py
<listcomp>
   s     z'test_starting_point.<locals>.<listcomp>    c                    s   g | ]}t  d  |d  qS r
   Zvdiff_hypot2_complex)r   c1)c0r   r   r	      s     c                 S   s   | d S Nr   r   xr   r   r   <lambda>       z%test_starting_point.<locals>.<lambda>)keyr         g      ?      c                    s"   g | ]}t  |j|jf qS r   complexZtransformPointrealimagr   pttransr   r   r	   J   s     c                    s"   g | ]}t  |j|jf qS r   r   r   r   r   r   r	   P   s   c                    s   g | ]}t  d  |d  qS r   r   )r   new_c1)new_c0r   r   r	   X   s    c                 S   s   | d S 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rotateZscalesqrtappendlogdebug)#Zglyph0r   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    

.




r7   N)ZinterpolatableHelpersr7   r   r   r   r   <module>   s   