
    g                     `    d dl mZ d dl mZ ej        j        Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )    )mp)libmpc                     dt           _        t          j        t           j                  } t          j        dt           j        z            5  t          j        dd          }g dd}}}	 |t           j        ||z  z  z  }|dz  }|                    |           |	                    |          \  }}|| k     rn|dk    rt          d	          d	 d d d            n# 1 swxY w Y   t          j        d
t          j        |           z            } t          |t           j        dz  dz  z
            }|| k     sJ t          j        d dt           j        gdd          }t          ||z
            }|| k     sJ d S )N      levinumethodvariantr        iteration limit exceeded?   c                     d| | z  z  S Nr    ns    S/var/www/html/ai-engine/env/lib/python3.11/site-packages/mpmath/tests/test_levin.py<lambda>ztest_levin_0.<locals>.<lambda>   s    !QU)     r   levin_variant)r   dpsmpfeps	extraprecprecr   oneappendupdate_psumRuntimeErrorexplogabspinsuminf)	r   LSsr   veerrws	            r   test_levin_0r2      s   BF
&..C	a"'k	"	" 
H 
HHg555aa1	H1q5!!AFAHHQKKK==##DAq3ww4xx|,FGGG	H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H &rvc{{"
#
#C
a"%1*q. 
!
!C9999
##a[7TWXXXA
a!e**C999999   BCC"Cc                     dt           _        t          j        t           j                  } t          j        dt           j        z            5  t          j        dd          }g d}}	 t          j        |          dz  }|dz  }|                    |           |                    |          \  }}|| k     rn|dk    rt          d	          f	 d d d            n# 1 swxY w Y   t          j
        d
t          j        |           z            } t          |t          j        d          z
            }|| k     sJ t          j        d dt           j        gdd          }t          ||z
            }|| k     sJ d S )Nr   r   r   r.   r
   r          @      @r   r   r   y             c                     | dz  S )Nr5   r   r   s    r   r   ztest_levin_1.<locals>.<lambda>3   s
    !- r   r   )r   r   r   r   r   r    r   r"   updater$   r%   r&   r'   zetar)   r*   )	r   r+   Ar   r-   r.   r/   r0   r1   s	            r   test_levin_1r:   "   s   BF
&..C	a"'k	"	" 
H 
HHg55511	Hq		f%AFAHHQKKK88A;;DAq3ww4xx|,FGGG	H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H 
H &rvc{{"
#
#C
a"'%.. 
!
!C9999
''!RVwX[\\\A
a!e**C999999r3   c                    	 dt           _        t          j        d          	t          j        t           j                  } t          j        dt           j        z            5  t          j        dd          }d}	 d	|z  t          j        |          z  	| z  z  }|                    |          \  }}|dz  }|| k     rn|d
k    rt          d          [	 d d d            n# 1 swxY w Y   t          j
        dt          j        |           z            } t          j        	fddt           j        g          }t          ||z
            }|| k     sJ t          j        	fddt           j        gdd          }|| k     sJ d S )Nr   
   r   siditr
   r   r   r   r   r   c                 @    t          j        |            d| z  z   z  S r   r   r%   xzs    r   r   ztest_levin_2.<locals>.<lambda>G   s    bfaRjj!AaC%0 r   c                 F    d| z  t          j        |           z  |  z  z  S )Nr?   r   facr   rD   s    r   r   ztest_levin_2.<locals>.<lambda>L   s#    2!)bfQii/!); r   r   )r   r   r   r   r   r    r   rG   stepr$   r%   r&   quadr*   r'   r)   
r   r+   r   r-   r.   r/   exactr0   r1   rD   s
            @r   test_levin_2rM   7   s   BFfRjjA
&..C	a"'k	"	" 	H 	HHf444	Ha"&))#aQBi/A66!99DAqFA3ww4xx|,FGGG	H
 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H &rvc{{"
#
#CG0000!BF<<E a%i..C9999
;;;;a[SYknoooA999999s   !A5C##C'*C'c                  :  	 dt           _        t          j        d          	t          j        t           j                  } t          j        dt           j        z            5  t          j        dd          }d\  }}	 |	 |z  t          j        d	|z            z  t          j        |          t          j        d|z            z  d	|z  z  z  z  }|dz  }|                    |          \  }}|| k     rn|d
k    rt          d          	 d d d            n# 1 swxY w Y   t          j
        dt          j        |           z            } t          j        	fddt           j        g          dz  t          j        dt           j        z            z  }t!          ||z
            }|| k     sJ t          j        	fddt           j        gdddt           j        z  dgd t%          d
          D             z             }t!          ||z
            }|| k     sJ d S )Nr   r      r   r>   r
   )r   r   r      r   r   皙?c                 L    t          j        |  | z  dz  | dz  z  z
            S )Nr   rP   rA   rB   s    r   r   ztest_levin_3.<locals>.<lambda>^   s(    bfqb1fqj1qAv:&=>> r   r   c                      | z  t          j        d| z            z  t          j        |           t          j        d| z            z  d| z  z  z  S )NrP   r   rF   rH   s    r   r   ztest_levin_3.<locals>.<lambda>c   sH    A2'BF1q5MM1RVAYYA5NRSWXRX5YZ r      c                     g | ]}d S )r   r   .0rC   s     r   
<listcomp>z test_levin_3.<locals>.<listcomp>c   s:      uN  uN  uN  |}  vw  uN  uN  uNr   )r   r   workprecsteps)r   r   r   r   r   r    r   rG   	step_psumr$   r%   r&   rJ   r*   sqrtr(   r'   r)   xrangerK   s
            @r   test_levin_3r^   O   s   BFfQiiA
&..C	ai	 	  	H 	HHg5551	H1"q26!a%==(BF1IIq1u,Ea,PQQAFA;;q>>DAq3ww4xx|,FGGG	H
 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H &rvc{{"
#
#CG>>>>26
KKaORTRYZ[^`^cZcRdRddE a%i..C9999
ZZZZ]^`b`f\gry  LO  \]  ^`  ^e  \e  pq  or  uN  uN  AG  HL  AM  AM  uN  uN  uN  oN  	O  	O  	OA
a!e**C999999s   !B+DD Dc            	         dt           _        t          j        t           j                  5  t          j        d          dz  t          j        fddt           j        gd          dz  z
  } t          | t           j        z
            dk     sJ 	 d d d            n# 1 swxY w Y   t          j	        d	t          j
        t           j                  z            }t          j        d
 dt           j        gd          } t          | t          j
        d          z
            |k     sJ dfd}t          j        |dt           j        gdd t          d          D                       }t          j        dt          j        d          z  dt          j        d          z  dt          j        d          z            }t          ||z
            |k     sJ d S )Nr   r<   ic                     | dz    z  S r   r   rH   s    r   r   z!test_levin_nsum.<locals>.<lambda>l   s    aAaC&k r   r   l)r   g|=rQ   c                     d| dz
  z  | z  S )Nr?   r   r   r   s    r   r   z!test_levin_nsum.<locals>.<lambda>q   s    21+/ r   r=   r   y       @      ?c                 :   t          j        dt          j        d          z  |           t          j        dt          j        d          z  |           z  | z  z  t          j        dt          j        d          z  |           t          j        |           z  z  S )Nr      rP   r   )r   rfr   rG   rH   s    r   r   z!test_levin_nsum.<locals>.<lambda>u   s|    "%BF1IIq))BE!bfQii-,C,CCadJbeTUXZX^_`XaXaTacdNeNehjhnophqhqNqr r   r   r   c                     g | ]}d S )r<   r   rV   s     r   rX   z#test_levin_nsum.<locals>.<listcomp>v   s    :T:T:T!2:T:T:Tr   r   )r   rZ   rd   rP   )r   r   r   r    r   r)   r*   r'   eulerr%   r&   r   r]   hyp2f1)ar   fr.   rL   rD   s        @r   test_levin_nsumrk   g   s   BF	bg		 ) )F2JJ3G))))Arv;EEEAM1rx<  5((((() ) ) ) ) ) ) ) ) ) ) ) ) ) )
 &rvbf~~%
&
&C
))Arv;HHHAq26!99}####ArrrrA
Arv;:T:Tvd||:T:T:TUUUAIa"&))mQ]Aq		M1EEEuqy>>Cs   A&BB#&B#c                     dt           _        t          j                    } g dd}}}	 |d|z   t           j        z  ||z  z  z  }|dz  }|                    |           |                     |          \  }}|t           j        k     rn|dk    rt          d          ut          j        dt          j	        t           j                  z            }t          |t           j        dz  d	z  z
            }||k     sJ d S )
Nr   r   r   r?   r   r   r   r      )r   r   	cohen_altr!   r"   r#   r   r$   r%   r&   r'   r(   )ACr,   r-   r   r.   r/   r   r0   s           r   test_cohen_alt_0rp   z   s    BF	B!Q!qAD	qy\BF"a!e,,	Q	~~a  1rv::t88<(BCCCD &rvbf~~%
&
&C
a"%1*r/!
"
"C999999r   c                  "   dt           _        g } t          j                    }d}	 |                     t          j        dt           j        d|z  dz
  z  z                        |                     t          j        dt           j        d|z  z  z                         |dz  }|                    |           \  }}|t           j        k     rn|dk    rt          d          t          j	        |          }t          |dz
            }|dk     sJ d S )Nr   r   r   r   r   g?g-q=)r   r   rn   r"   loggammar!   r7   r   r$   r%   r'   )r9   ro   r   r.   r/   r0   s         r   test_cohen_alt_1rs      s    BF
A	B	AD	"+a"&AEAI"6677888	"+a"&AE"22333444	Qyy||1rv::t88<(BCCCD 	q		A
a""
#
#C;;;;;;r   N)mpmathr   r   backendr]   r2   r:   rM   r^   rk   rp   rs   r   r   r   <module>rv      s               		  *  *  0  0     &       r   