U
    -e                     @   s4   d dl mZmZ d dlmZ edd Zdd ZdS )    )ecmPoint)slowc                   C   s   t ddddhkstt ddddhks,tt d	d
dhks@tt dddhksTtt ddddhksjtt dddddddhkstt dddddhkstt ddd d!d"hkstt d#d$d%d&d'hkstt d(d)d*d+d,d-hkstd S ).Nl   m?hm%P~WE    l   a8] l   As)p )l   I.* +   iG4( iMIl   	LVv]F>#l   0V l   os? l   !+ iYi_/= l   y2-:!iwL i| i	 l   G#OSWli i iï i iK i{p	 i+ l   !lNCFw i  i7?l   }X l   X<^"V /   iWr i* i	l   !,B?q O   q   i iC3fl   I)?w7`s i i@B )ZB1ZB2l   )bP l   GH@Y'p)r   AssertionError r   r   ]/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/ntheory/tests/test_ecm.pytest_ecm   s    r   c                  C   sf  ddl m}  d}d}|d | d| }tdd||}| }|tdd	||ksRt| }|td
d||kspt| }|tdd||kst| }|tdd||kst| }	|	tdd||kst|||}
|
tdd||kst|
||}|tdd||kst||||
ks&t|
 }|tdd||ksFt||||ks\t|||
}|tdd||kst|||
|kst||||kst|||}|td	d||kst|||
|
kst||||kst||||kst||dks&t||dks:t||dksNt||
dksbtd S )Nr   )mod_inversee   
            D   8      @   G   _         !   `      =   1   Z   W   r   E      c   	   r   )Zsympy.core.numbersr   r   doubler
   addZmont_ladder)r   modaZa_24p1p2Zp4Zp8Zp16Zp32Zp3Zp5Zp6Zp7Zp9r   r   r   
test_Point   sH    r-   N)Zsympy.ntheory.ecmr   r   Zsympy.testing.pytestr   r   r-   r   r   r   r   <module>   s   
