
    \h                        S r SSKJrJr  SSKJr  SSKJr  SSKJ	r	  S r
S rS r\" S	\5      r\
" S	\\5      r\" S
\5      r\
" S
\\5      rS rS rS rS r\" S\5      r\" S	\\5      r\" S\5      r\" S
\\5      rS rS rS rS rg)z/Benchmarks for polynomials over Galois fields.     )gf_from_dictgf_factor_sqf)ZZ)pi)	nextprimec                 `    [        XR                  SUR                  SUR                  0X5      $ )N   r   )r   one)npKs      `/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/benchmarks/bench_galoispolys.pygathen_polyr   
   s&    EE1aeeQ6==    c                     UR                   /U S-   -  n[        SU S-   5       H  nX4S-
     S-  UR                   -   U-  X4'   M!     U$ )Nr	      )r
   range)r   r   r   fis        r   
shoup_polyr      sN    	
1q5A1a!e_a%!aee#q( Hr   c                 f    U" [        [        SU -  [        -  R                  5       5      5      5      $ )Nr   )r   intr   evalf)r   r   s     r   genprimer      s(    YsAqD2I,,./011r   
      c                  4    [        [        [        [        SS9  g N
zassenhausmethodr   f_10p_10r    r   r   !timeit_gathen_poly_f10_zassenhausr&          $b6r   c                  4    [        [        [        [        SS9  g Nshoupr    r"   r%   r   r   timeit_gathen_poly_f10_shoupr+   #       $b1r   c                  4    [        [        [        [        SS9  g r   r   f_20p_20r   r%   r   r   !timeit_gathen_poly_f20_zassenhausr1   '   r'   r   c                  4    [        [        [        [        SS9  g r)   r.   r%   r   r   timeit_gathen_poly_f20_shoupr3   +   r,   r         c                  4    [        [        [        [        SS9  g r   r   F_10P_08r   r%   r   r    timeit_shoup_poly_F10_zassenhausr:   5   r'   r   c                  4    [        [        [        [        SS9  g r)   r7   r%   r   r   timeit_shoup_poly_F10_shoupr<   9   r,   r   c                  4    [        [        [        [        SS9  g r   r   F_20P_18r   r%   r   r    timeit_shoup_poly_F20_zassenhausrA   =   r'   r   c                  4    [        [        [        [        SS9  g r)   r>   r%   r   r   timeit_shoup_poly_F20_shouprC   A   r,   r   N)__doc__sympy.polys.galoistoolsr   r   sympy.polys.domainsr   sympy.core.numbersr   sympy.ntheory.generater   r   r   r   r$   r#   r0   r/   r&   r+   r1   r3   r9   r8   r@   r?   r:   r<   rA   rC   r%   r   r   <module>rI      s    5 @ " ! ,>2 B2tR B2tR 7272 2"dBB"dB7272r   