ó
¡¼™\c           @  sS  d  Z  d d l m Z m Z d d l m Z m Z d d l m Z d d l	 m
 Z
 m Z d d l m Z d „  Z d „  Z d	 „  Z e d
 e ƒ Z e d
 e e ƒ Z e d e ƒ Z e d e e ƒ Z d „  Z d „  Z d „  Z d „  Z e d e ƒ Z e d
 e e ƒ Z e d e ƒ Z e d e e ƒ Z d „  Z d „  Z d „  Z d „  Z  d S(   s/   Benchmarks for polynomials over Galois fields. iÿÿÿÿ(   t   print_functiont   division(   t   gf_from_dictt   gf_factor_sqf(   t   ZZ(   t   pit	   nextprime(   t   rangec         C  s.   t  i | j |  6| j d 6| j d 6| | ƒ S(   Ni   i    (   R   t   one(   t   nt   pt   K(    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt   gathen_poly   s    c         C  sW   | j  g |  d } x< t d |  d ƒ D]' } | | d d | j  | | | <q( W| S(   Ni   i   (   R   R   (   R	   R
   R   t   ft   i(    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt
   shoup_poly   s    %c         C  s$   | t  t d |  t j ƒ  ƒ ƒ ƒ S(   Ni   (   R   t   intR   t   evalf(   R	   R   (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt   genprime   s    i
   i   c           C  s   t  t t t d d ƒd  S(   Nt   methodt
   zassenhaus(   R   t   f_10t   p_10R   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt!   timeit_gathen_poly_f10_zassenhaus    s    c           C  s   t  t t t d d ƒd  S(   NR   t   shoup(   R   R   R   R   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt   timeit_gathen_poly_f10_shoup$   s    c           C  s   t  t t t d d ƒd  S(   NR   R   (   R   t   f_20t   p_20R   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt!   timeit_gathen_poly_f20_zassenhaus(   s    c           C  s   t  t t t d d ƒd  S(   NR   R   (   R   R   R   R   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt   timeit_gathen_poly_f20_shoup,   s    i   i   c           C  s   t  t t t d d ƒd  S(   NR   R   (   R   t   F_10t   P_08R   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt    timeit_shoup_poly_F10_zassenhaus6   s    c           C  s   t  t t t d d ƒd  S(   NR   R   (   R   R   R   R   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt   timeit_shoup_poly_F10_shoup:   s    c           C  s   t  t t t d d ƒd  S(   NR   R   (   R   t   F_20t   P_18R   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt    timeit_shoup_poly_F20_zassenhaus>   s    c           C  s   t  t t t d d ƒd  S(   NR   R   (   R   R"   R#   R   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt   timeit_shoup_poly_F20_shoupB   s    N(!   t   __doc__t
   __future__R    R   t   sympy.polys.galoistoolsR   R   t   sympy.polys.domainsR   t   sympyR   R   t   sympy.core.compatibilityR   R   R   R   R   R   R   R   R   R   R   R   R   R   R#   R"   R    R!   R$   R%   (    (    (    sG   lib/python2.7/site-packages/sympy/polys/benchmarks/bench_galoispolys.pyt   <module>   s0   										