a
    kh	                     @   s   d dl Z d dlmZ d dlmZmZmZmZmZ g dg dg dg dg dg d	g d
g dg dg dg
Zg dg dg dg dg dg dg dg dg dg dg dg dg dgZ	dd dd dggZ
d#dd Zed!kree jd"kre jd" ndZee	e
gZeee dS )$    N)time)discrete_log_discrete_log_trial_mul_discrete_log_shanks_steps_discrete_log_pollard_rho_discrete_log_pohlig_hellman)         )i/  i.     )i i    )l   ;S${ l   :S${ r   )l   I\l   H\   )l   pS@ l   pS@ r   )l   1Urp l   1Urp    )l   Z:6'' l   Z:6''    )l   bJT(
Xl   bJT(
Xr   )l   E<Z;n l   D<Z;n r   )   q   r   )i	  i  r   )i_  i/  r   )i i r   )i|% iU r   )i[vi-p r   )iäiaRr   )l   )$ i7Ir   )l   p l   M\8 r   )l   <g l   W3r r   )l   Zl   -xr   )l   7S`Yl   J),r   )l   L3C} l   f!> r   r   v   t   r   c                 C   s   |d u rt }n@|dkrt}n2|dkr*t}n$|dkr8t}n|dkrFt}ntdt| D ]l\}}t|D ]Z\}\}}}t }	||t||d |||}
t |	 }	t	d|||	f  |
|d ksfJ qfqVd S )NZtrialZshanksrhophzCArgument 'algo' should be one of ('trial', 'shanks', 'rho' or 'ph')   z[%02d-%03d] %15.10f)
r   r   r   r   r   
ValueError	enumerater   powprint)data_setalgofidatajnpgtl r&   Q/var/www/auris/lib/python3.9/site-packages/sympy/benchmarks/bench_discrete_log.pybench_discrete_log3   s$    
r(   __main__r   )N)sysr   Zsympy.ntheory.residue_ntheoryr   r   r   r   r   Z
data_set_1Z
data_set_2Z
data_set_3r(   __name__lenargvr   r   r&   r&   r&   r'   <module>   sP   

