ó
¡¼™\c        	   @  s“  d  d l  m Z m Z d  d l m Z d  d l m Z d  d l m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z d  d l m Z m Z m Z d  d l m Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" e# d k re e e e e e e e  e! g	 Z$ g  Z% xK e$ D]@ Z& e ƒ  Z' e& ƒ  e ƒ  e' Z' e( d e& j# e& j) e' f ƒ qHWn  d S(   iÿÿÿÿ(   t   print_functiont   division(   t   range(   t   random(	   t   factort   It   Integert   pit   simplifyt   sint   sqrtt   Symbolt   sympify(   t   xt   yt   z(   t   default_timerc          C  s]   d „  }  |  |  |  |  |  |  |  |  |  |  t  d ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ j ƒ  d } d S(   s'   real(f(f(f(f(f(f(f(f(f(f(i/2)))))))))))c         S  s$   t  t d ƒ d ƒ |  d t d S(   Ni   i   i   (   R
   R   R   (   R   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   f   s    i   i    N(   R   t   as_real_imag(   R   t   e(    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_R1   s    	c            s"   ‡  f d †  ‰  ˆ  d t  ƒ }  d S(   s!   Hermite polynomial hermite(15, y)c           s`   |  d k r d | S|  d k r$ d Sd | ˆ  |  d | ƒ d |  d ˆ  |  d | ƒ j  ƒ  S(   Ni   i   i    (   t   expand(   t   nR   (   t   hermite(    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyR      s
    i   N(   R   (   t   a(    (   R   s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_R2   s    c          C  s=   t  t t }  g  t d ƒ D] } t |  |  k ƒ ^ q } d S(   s#   a = [bool(f==f) for _ in range(10)]i
   N(   R   R   R   R   t   bool(   R   t   _R   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_R3   s    c           C  s   d  S(   N(    (    (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_R4$   s    c          C  s>   d „  }  d „  } t  t t g } |  | d ƒ | | ƒ } d S(   s   blowup(L, 8); L=uniq(L)c         S  sD   x= t  | ƒ D]/ } |  j |  | |  | d |  | d ƒ q Wd  S(   Ni   i   (   R   t   append(   t   LR   t   i(    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   blowup+   s    c         S  s   t  |  ƒ } | S(   N(   t   set(   R   t   v(    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   uniq/   s    i   N(   R   R   R   (   R!   R$   R   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_R5)   s
    		c          C  s    t  d „  t d ƒ Dƒ ƒ }  d S(   s<   sum(simplify((x+sin(i))/x+(x-sin(i))/x) for i in range(100))c         s  s;   |  ]1 } t  t t | ƒ t t t | ƒ t ƒ Vq d  S(   N(   R   R   R	   (   t   .0R    (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pys	   <genexpr>9   s    id   N(   t   sumR   (   t   s(    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_R67   s    c          C  sx   t  d d t  d d t  d d t  d d t  d d	 t  d
 }  g  t d ƒ D] } |  j t  t ƒ  ƒ ^ qS } d S(   s+   [f.subs(x, random()) for _ in range(10**4)]i   i"   i   i-   i   i	   i   i
   i    i   i   Ni'  (   R   R   t   subsR   (   R   R   R   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_R7<   s    Fc          C  s&   d „  }  |  t  d d d d ƒ } d S(	   s   right(x^2,0,5,10^4)c   	      S  s’   t  | ƒ } t  | ƒ } t  | ƒ } |  j t ƒ j ƒ  } | | | } | } d } x4 t | ƒ D]& } | | 7} | |  j | | ƒ 7} q` W| | S(   Ni    (   R   t   atomsR   t   popR   R*   (	   R   R   t   bR   R   t   Deltaxt   ct   estR    (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   rightD   s    
i   i    i   i
   i   Ni'  (   R   (   R2   R   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_R8B   s    	c           C  s"   t  t d t d t d ƒ d S(   s   factor(x^20 - pi^5*y^20)i   i   N(   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt	   _bench_R9T   s    c          C  s*   d „  }  |  t  t  t d ƒ d ƒ } d S(   s   v = [-pi,-pi+1/10..,pi]c         S  sG   |  g } x3 | | d j  ƒ  d k r> | j | d | ƒ q W| d  S(   Niÿÿÿÿi    (   t   evalfR   (   t   mint   maxt   stepR#   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   srange[   s    	i   i
   N(   R   R   (   R9   R#   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt	   bench_R10Y   s    	c          C  s1   g  t  d ƒ D] }  t ƒ  t ƒ  t ^ q } d S(   s.   a = [random() + random()*I for w in [0..1000]]iè  N(   R   R   R   (   t   wR   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt	   bench_R11c   s    c          C  s4   t  t t d d }  |  |  d } | j ƒ  } d S(   s#   e=(x+y+z+1)**7;f=e*(e+1);f.expand()i   i   N(   R   R   R   R   (   R   R   (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   bench_S1h   s    t   __main__s
   %s%65s: %fN(*   t
   __future__R    R   t   sympy.core.compatibilityR   R   t   sympyR   R   R   R   R   R	   R
   R   R   t	   sympy.abcR   R   R   t   timeitR   t   clockR   R   R   R   R%   R)   R+   R3   R4   R:   R<   R=   t   __name__t
   benchmarkst   reportR.   t   tt   printt   __doc__(    (    (    s>   lib/python2.7/site-packages/sympy/benchmarks/bench_symbench.pyt   <module>   sB   @										
				