U
    9%e                  	   @   sH  d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZ d d
lmZ dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Z!dd Z"dd  Z#d!d" Z$e%d#krDeeeeeee e"e#g	Z&g Z'e&D ]2Z(e Z)e(  e e) Z)e*d$e(j%e(j+e)f  qd%S )&    )random)IIntegerpi)Symbol)sympify)sqrt)sin)factor)simplifyxyz)default_timerc                  C   sD   dd } | | | | | | | | | | t d  d  dS )z'real(f(f(f(f(f(f(f(f(f(f(i/2)))))))))))c                 S   s    t tdd | d  td  S )N         )r   r   r   )r    r   ^/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/benchmarks/bench_symbench.pyf   s    zbench_R1.<locals>.fr   r   N)r   Zas_real_imagr   r   r   r   bench_R1   s    r   c                      s    fdd  dt  dS )z!Hermite polynomial hermite(15, y)c                    sP   | dkrd| S | dkrdS d|  | d | d| d   | d |    S )Nr   r   r   )expand)nr   hermiter   r   r      s
    zbench_R2.<locals>.hermite   N)r   r   r   r   r   bench_R2   s    r   c                      s&   t t t   fddtdD  dS )z#a = [bool(f==f) for _ in range(10)]c                    s   g | ]}t   kqS r   )bool.0_r   r   r   
<listcomp>$   s     zbench_R3.<locals>.<listcomp>
   N)r   r   r   ranger   r   r   r   bench_R3!   s    r&   c                   C   s   d S Nr   r   r   r   r   bench_R4'   s    r(   c                  C   s0   dd } dd }t ttg}| |d ||}dS )zblowup(L, 8); L=uniq(L)c                 S   s8   t |D ]*}| | | | |d   | |d    qd S )Nr   r   )r%   append)Lr   ir   r   r   blowup.   s    zbench_R5.<locals>.blowupc                 S   s   t | }|S r'   )set)r   vr   r   r   uniq2   s    zbench_R5.<locals>.uniq   Nr   )r,   r/   r*   r   r   r   bench_R5,   s
    

r1   c                   C   s   t dd tdD  dS )z<sum(simplify((x+sin(i))/x+(x-sin(i))/x) for i in range(100))c                 s   s2   | ]*}t tt| t tt| t  V  qd S r'   )r   r   r	   )r!   r+   r   r   r   	<genexpr><   s     zbench_R6.<locals>.<genexpr>d   N)sumr%   r   r   r   r   bench_R6:   s    r5   c                      s^   t d dt d   dt d   dt d   dt d   d	t d
     fddtdD  dS )z+[f.subs(x, random()) for _ in range(10**4)]   "      -   r   	      r$          c                    s   g | ]}  tt qS r   )subsr   r   r    r   r   r   r#   B   s     zbench_R7.<locals>.<listcomp>'  N)r   r%   r   r   r   r   bench_R7?   s    Dr@   c                  C   s   dd } | t d ddd dS )zright(x^2,0,5,10^4)c           	      S   sh   t |}t |}t |}| t }|| | }|}d}t|D ]}||7 }|| ||7 }qB|| S )Nr   )r   Zatomsr   popr%   r>   )	r   abr   r   ZDeltaxcZestr+   r   r   r   rightG   s    zbench_R8.<locals>.rightr   r      r?   N)r   )rE   r   r   r   bench_R8E   s    rG   c                   C   s    t td td td    dS )zfactor(x^20 - pi^5*y^20)   rF   N)r
   r   r   r   r   r   r   r   	_bench_R9W   s    rI   c                  C   s"   dd } | t  t tdd  dS )zv = [-pi,-pi+1/10..,pi]c                 S   s:   | g}||d    dkr.||d |  q|d d S )Nr   )Zevalfr)   )minmaxstepr.   r   r   r   srange^   s    zbench_R10.<locals>.sranger   r$   N)r   r   )rN   r   r   r   	bench_R10\   s    rO   c                   C   s   dd t dD  dS )z.a = [random() + random()*I for w in [0..1000]]c                 S   s   g | ]}t  t  t  qS r   )r   r   )r!   wr   r   r   r#   h   s     zbench_R11.<locals>.<listcomp>i  N)r%   r   r   r   r   	bench_R11f   s    rQ   c                  C   s,   t t t d d } | | d  }|  dS )z#e=(x+y+z+1)**7;f=e*(e+1);f.expand()r      N)r   r   r   r   )er   r   r   r   bench_S1k   s    rT   __main__z
%s%65s: %fN),Zsympy.core.randomr   Zsympy.core.numbersr   r   r   Zsympy.core.symbolr   Zsympy.core.sympifyr   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr	   Zsympy.polys.polytoolsr
   Zsympy.simplify.simplifyr   Z	sympy.abcr   r   r   Ztimeitr   clockr   r   r&   r(   r1   r5   r@   rG   rI   rO   rQ   rT   __name__Z
benchmarksreportrC   tprint__doc__r   r   r   r   <module>   sL   


