
    wg#                     R    d dl Z d dl d Zd Zd Zd Zd Zd Zd	 Zd
 Z	d Z
d Zy)    N)*c                      dt         _        d } t        | ddgdd      \  }}|dk  sJ t        d	      D ]-  }d|d
z  z   }t	        t        ||       | |      z
        |k  r-J  y )N   c                 *    t        dd| z  z
        | z  S )N   )cosxs    _/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/mpmath/tests/test_calculus.py<lambda>z$test_approximation.<locals>.<lambda>   s    #a!e*Q,     r         T)errorgh㈵>
   g      @)mpdpschebyfitrangeabspolyval)fperrir
   s        r   test_approximationr      st    BFAa!Q$/FAs::2Y /"H71a=1Q4'(3.../r   c                      dt         _        t        d d      j                  t	        d      dz        sJ t        d t
              j                  t              sJ y )Nr   c                 *    | t        |       z
  | dz  z  S )N   )sinr	   s    r   r   ztest_limits.<locals>.<lambda>   s    Ac!fHad? r   r         c                     dd| z  z   | z  S Nr!    )ns    r   r   ztest_limits.<locals>.<lambda>   s    AacEA: r   )r   r   limitaempfinfer%   r   r   test_limitsr,      sI    BF*A.11#a&(;;;%s+..q111r   c                      t        g d      dk(  sJ t        dgd      dk(  sJ t        dgd      dk(  sJ g d} t        | d      dk(  sJ t        | dd      d	k(  sJ y )
Nr   r      )r   r   r.   r      T)
derivative)r0      )r   r   s    r   test_polyvalr4      sr    2q>QA3?aA3?aA1Q<31Q$':555r   c                  Z   t        ddg      } | d   j                  d      sJ t        g d      \  } }| j                  dt        d      t        z  z
        sJ |j                  dt        d      t        z  z         sJ t        dg      g k(  sJ t	        j
                  t        d        y )	Nr!   r   r   )r!   r   r   r   c                      t        dg      S )Nr   )	polyrootsr%   r   r   r   z test_polyroots.<locals>.<lambda>#   s    in r   )r9   r(   sqrtjpytestraises
ValueError)r   qs     r   test_polyrootsr@      s    1R&AQ4771::WDAq44T!WQY44T!WQYaS>R
MM*45r   c            
      n   d} g d}t         j                  d      5  t        j                  t         j                        5  t        |ddd| dz         d d d        t        |d	dd| dz        }|D cg c]  }t        |       }}|g d
k(  sJ 	 d d d        y # 1 sw Y   GxY wc c}w # 1 sw Y   y xY w)N@   Al	   #!yUMDQj~U4	 r   l`<	&&
 xXD`D r   l	   #~O6dIW6ob9r   l N$UVOF>`}Dr   l	   ha0r3(|Wo9Er   lcs9lMhPc;/,3 r   l
   p~	#]ls<m r   lW)4G`Y r   l
   <g?I"GX)p@/ r   lg24Kc89z r   l
    1_bm-9w:bYj r   l	@bmDu#pO2> r   l
   J={|L	m~;` r   l`|fl?'h_K r   l
   eo.!03a7# r   l / $+-kMsf]`:r   l	   ;bfLHQLRr   l /v\ QB8%r   l	   e]r+a ;M~DMLr   l`|]B`3*0Vwk_ r   l	   J5]c<OJg1 r   l	x,a6F~E8P r   l    V'6@h>)r   l~&-ME	A"r   l   <-AGn,a;0$S r   lW?n05%Zu r   l   pbz^.qr   lcd qTT r   l   h9N$$).lF4 r   l Ns,1j	r   l   #vsKn?b; r   l`<x!ur   l   #!Oer   r.   TFr   maxstepscleanupr   	extraprec2   )@-0.999-0.996-0.991-0.983-0.973-0.961-0.946-0.93-0.911-0.889-0.866-0.841-0.813-0.784-0.753-0.72-0.685-0.649-0.611-0.572-0.531-0.489-0.446-0.402-0.357-0.311-0.265-0.217-0.17-0.121-0.073-0.02430.02430.0730.1210.170.2170.265z0.3110.3570.4020.4460.4890.5310.5720.6110.6490.6850.720.7530.7840.8130.8410.8660.8890.9110.930.9460.9610.9730.9830.9910.9960.999)r   workdpsr<   r=   NoConvergencer9   str)r&   coeffsrootsrs       r   test_polyroots_legendrer   %   s    
A FD 
A B]]2++, 	&fq$e !"&	& &2t5d$!&'AQ''	B
B 
	B 
BB B	& 	& (B Bs/   $B+ BB+3B&B+B#	B++B4c            
         d} g d}t        g d      }t        j                  dt        j                  z        5  t	        |dddd| z        }d d d        t        j                  t        j                        5  t	        |d	dd|        d d d        t	        |d	dd| |
      \  }}t        t              t        |      j                  t              z
        |k  sJ t	        |ddd| |d d 
      \  }}t        t        |      t        |      j                  t              z
        |k  sJ y # 1 sw Y   xY w# 1 sw Y   xY w)Nd   rC   )ArI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   z 0.311ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   z1.0r   rH   TFrD   r.   )rE   rF   r   rG   
roots_init   <   )matrixr   r   r   r9   r<   r=   r   maxapplyr   )
extra_precr   r   roots_exactr   r   roots1err1s           r   test_polyroots_legendre_initr   ]   s:   J FD  K LJ 
AbffH	 8T*+J,88 
r''	( (&1d%&	(( &1d$$.*FIE#vk"6%=#6#6s#;;<sBBBFRT&0JsOMKF4vk"6&>#7#7#<<=DDD8 8( (s   D.9D:.D7:Ec                     t        d      } dt        _        d}| g}d}t        d|dz         D ]  }||z  }|j	                  | |z          t        ||dz  |dz        \  }}t        ddd      D ]D  }t        |d d d   |      t        |d d d   |      z  }|j                  t        |      d      rDJ  d	t        _        y )
Nr!      r   r   r   g?r7   g|=r   )
r)   r   r   r   appendpadearanger   r(   exp)	oneNakr   r   r?   r
   r   s	            r   	test_pader      s    
a&CBF
A	A	A1ac] 	Q	Q 1a4ADAqAq# &AddGQ$B$ 33ttCFG$%$& BFr   c                     dt         _        t        d ddgd      \  } }| d   j                  d      sJ | d   j                  dt	        d	      z  dt
        z  z        sJ | d   j                  d	t	        d	      z  d
t
        z  z        sJ |d   dk(  sJ |d   j                  d	dt
        z  z        sJ |d   j                  d	d
t
        z  z        sJ t        | |fddgd      j                  d      sJ y )Nr   c                     | dz   S r$   r%   r	   s    r   r   ztest_fourier.<locals>.<lambda>   s
    QqS r   r7   r   r   g      ?r!   r   r   g?)r   r   fourierr(   r:   pi
fourierval)css     r   test_fourierr      s    BF=2q'1-DAqQ4773<<Q4772d1g:qt$%%%Q4771T!W9ad#$$$Q4199Q4771ad8Q4771ad8q!fr1gq),,-?@@@r   c                      dt         _        t        d dd      j                  dt	        dt
        z        z  dz        sJ y )Nr   c                     | S Nr%   ts    r   r   z test_differint.<locals>.<lambda>   s    q r   r   g      r   r   )r   r   	differintr(   r:   r   r%   r   r   test_differintr      s6    BF[!T*--aQrT
l1n===r   c                  b   dt         _        d} d }d } ||       }t        || d      j                  |      sJ t        || d      j                  |      sJ t        || d      j                  |      sJ t        || d	      j                  |      sJ d
}  ||       }t        || d      j                  |      sJ t        || d      j                  |      sJ t        || d      j                  |      sJ t        || d	      j                  |      sJ d} d }d } ||       }t        || d      j                  |      sJ t        || d      j                  |      sJ t        || d      j                  |      sJ t        || d	      j                  |      sJ d
}  ||       }t        || d      j                  |      sJ t        || d      j                  |      sJ t        || d      j                  |      sJ t        || d	      j                  |      sJ y )Nr   g{Gz?c                     d| dz   dz  z  S )Nr!   r   r%   r3   s    r   r   ztest_invlap.<locals>.<lambda>   s    1acAX: r   c                      | t        |        z  S r   )r   r   s    r   r   ztest_invlap.<locals>.<lambda>   s    1S!W9 r   talbot)methodstehfestdehoogcoheng      ?c                     t        |       | z  S r   )logr3   s    r   r   ztest_invlap.<locals>.<lambda>   s    3q6!8 r   c                 (    t          t        |       z
  S r   )eulerr   r   s    r   r   ztest_invlap.<locals>.<lambda>   s    E6#a&= r   )r   r   invertlaplacer(   )r   fpftftts       r   test_invlapr      s%   BFA	B	B
Q%CAX.11#666AZ033C888AX.11#666AW-00555A
Q%CAX.11#666AZ033C888AX.11#666AW-00555A	B	 B
Q%CAX.11#666AZ033C888AX.11#666AW-00555A
Q%CAX.11#666AZ033C888AX.11#666AW-00555r   )r<   mpmathr   r,   r4   r@   r   r   r   r   r   r   r%   r   r   <module>r      sB     /2
666Bp<E|
A>6r   