
    wg	                     Z   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z  ddz  dggZ
d"dZed k(  r5 ee j                        d!kD  re j                  d!   ndZee	e
gZ eee       yy)#    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           
      v   |t         }n;|dk(  rt        }n/|dk(  rt        }n#|dk(  rt        }n|dk(  rt        }nt        d      t        |       D ]g  \  }}t        |      D ]T  \  }\  }}}t               }	 ||t        ||dz
  |      ||      }
t               |	z
  }	t        d|||	fz         |
|dz
  k(  rTJ  i y )Ntrial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ls              h/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/sympy/benchmarks/bench_discrete_log.pybench_discrete_logr+   3   s    |	#		&	%	( 9 : 	: X& 4%dO 	LAy1aA!SAE1%q!,A
A'1a)34A::	    __main__r   )N)sysr   sympy.ntheory.residue_ntheoryr   r   r   r   r   
data_set_1
data_set_2
data_set_3r+   __name__lenargvr    r    r,   r*   <module>r7      s    
 A A 	#'-/5;?
& 	!#%')+-
* 
CC
0 z388}q  88A;&* 	 
H
 x& r,   