
    Rie                     >    d dl mZmZ d dlmZ ed             Zd ZdS )    )ecmPoint)slowc                     t          d          h dk    sJ t          d          h dk    sJ t          d          ddhk    sJ t          d          d	d
hk    sJ t          d          h dk    sJ t          d          h dk    sJ t          d          h dk    sJ t          d          h dk    sJ t          d          h dk    sJ t          ddd          ddhk    sJ d S )Nl   m?hm%P~WE >      a8]    As)p )   l   I.* >   G4( MI+   l   	LVv]F>#l   0V l   os? l   !+ iYi_/= l   y2-:!>   wL 駫	 | l   G#OSWli >    K + {p	 ï  l   !lNCFw >   7?齛     }X r	   l   X<^"V >   	Wr * /   l   !,B?q >   C3f O   q   l   I)?w7`s i i@B )B1B2l   )bP l   GH@Y'p)r        <lib/python3.11/site-packages/sympy/ntheory/tests/test_ecm.pytest_ecmr&      sT   +,,0T0T0TTTTT !!%=%=%=====$%%*k)BBBBBHg#66666 !!%=%=%=====1226f6f6fffff())-O-O-OOOOO%&&*J*J*JJJJJ$%%)H)H)HHHHH1fIIIN^`sMtttttttr$   c                  B   ddl m}  d}d}|dz    | d|          z  }t          dd||          }|                                }|t          dd	||          k    sJ |                                }|t          d
d||          k    sJ |                                }|t          dd||          k    sJ |                                }|t          dd||          k    sJ |                                }	|	t          dd||          k    sJ |                    ||          }
|
t          dd||          k    sJ |
                    ||          }|t          dd||          k    sJ ||                    ||
          k    sJ |
                                }|t          dd||          k    sJ ||                    ||          k    sJ |                    ||
          }|t          dd||          k    sJ ||                    |
|          k    sJ ||                    ||          k    sJ |                    ||          }|t          d	d||          k    sJ ||                    |
|
          k    sJ ||                    ||          k    sJ ||                    ||          k    sJ ||                    d          k    sJ ||                    d          k    sJ ||                    d          k    sJ ||
                    d          k    sJ d S )Nr   )mod_inversee   
            D   8      @   G   _         !   `      =   1   Z   W   r   E      c   	   r	   )sympy.core.numbersr(   r   doubleaddmont_ladder)r(   modaa_24p1p2p4p8p16p32p3p5p6p7p9s                  r%   
test_PointrS      sZ   ......
C
AE;;q#&&&D	r2tS	!	!B	Br2tS))))))	Br2tS))))))	Br2tS))))))
))++C%2tS))))))
**,,C%Bc****** 
BBq"dC((((((	BBr2tS))))))B	Br2tS))))))B	BBr2tS))))))BB	BBr2tS))))))BBB"""""""""""""..$$$$$$""""""""r$   N)sympy.ntheory.ecmr   r   sympy.testing.pytestr   r&   rS   r#   r$   r%   <module>rV      sd    ( ( ( ( ( ( ( ( % % % % % %u u u,# ,# ,# ,# ,#r$   