
    [h                     r    S SK Jr  S SK Jr  \R                  R                  rS rS rS rS rS r	S r
S	 rg
)    )mp)libmpc                     S[         l        [         R                  " [         R                  5      n [         R                  " S[         R
                  -  5         [         R                  " SSS9n/ SSpCn U[         R                  XD-  -  -  nUS-  nUR                  U5        UR                  U5      u  pVX`:  a  OUS:  a  [        S	5      eMZ  S S S 5        [         R                  " S
[         R                  " U 5      -  5      n [        W[         R                  S-  S-  -
  5      nXp:  d   e[         R                  " S S[         R                   /SSS9n[        XX-
  5      nXp:  d   eg ! , (       d  f       N= f)N      levinumethodvariantr        iteration limit exceeded?   c                     SX -  -  $ Nr    ns    O/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/tests/test_levin.py<lambda>test_levin_0.<locals>.<lambda>   s
    !QU)    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_0r3      s'   BF
&&.C	a"''k	"HHg5aa15!!AFAHHQK==#DAw4x|,FGG  
# &&rvvc{"
#C
a"%%1*q. 
!C99
#a[7TWXA
ae*C99! 
#	"s   A6E((
E6c                     S[         l        [         R                  " [         R                  5      n [         R                  " S[         R
                  -  5         [         R                  " SSS9n/ Sp2 [         R                  " U5      S-  nUS-  nUR                  U5        UR                  U5      u  pVX`:  a  OUS:  a  [        S	5      eM[  S S S 5        [         R                  " S
[         R                  " U 5      -  5      n [        W[         R                  " S5      -
  5      nXp:  d   e[         R                  " S S[         R                  /SSS9n[        XX-
  5      nXp:  d   eg ! , (       d  f       N= f)Nr   r   r   r/   r
   r          @      @r   r   r   y             c                     U S-  $ )Nr5   r   r   s    r   r   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/   r0   r1   r2   s	            r   test_levin_1r;   "   s   BF
&&.C	a"''k	"HHg511q	f%AFAHHQK88A;DAw4x|,FGG  
# &&rvvc{"
#C
a"''%. 
!C99
'!RVVwX[\A
ae*C99! 
#	"s   A5E''
E5c                  (  ^	 S[         l        [         R                  " S5      m	[         R                  " [         R                  5      n [         R                  " S[         R
                  -  5         [         R                  " SSS9nSn S	U-  [         R                  " U5      -  T	U* -  -  nUR                  U5      u  pEUS-  nXP:  a  OUS
:  a  [        S5      eMT  S S S 5        [         R                  " S[         R                  " U 5      -  5      n [         R                  " U	4S jS[         R                  /5      n[        WU-
  5      nXp:  d   e[         R                  " U	4S jS[         R                  /SSS9nXp:  d   eg ! , (       d  f       N= f)Nr   
   r   siditr
   r   r   r   r   r   c                 D   > [         R                  " U * 5      SU T-  -   -  $ r   r   r&   xzs    r   r   test_levin_2.<locals>.<lambda>G   s    bffaRj!AaC%0r   c                 J   > SU -  [         R                  " U 5      -  TU * -  -  $ )Nr@   r   facr   rE   s    r   r   rF   L   s!    2!)bffQi/!);r   r   )r   r   r   r   r    r!   r   rI   stepr%   r&   r'   quadr+   r(   r*   )
r   r,   r   r.   r/   r0   exactr1   r2   rE   s
            @r   test_levin_2rN   7   s2   BFffRjA
&&.C	a"''k	"HHf4a"&&)#aQBi/A66!9DAFAw4x|,FGG  
# &&rvvc{"
#CGG0!BFF<E a%i.C99
;a[SYknoA99# 
#	"s   .A-F
Fc                  x  ^
 S[         l        [         R                  " S5      m
[         R                  " [         R                  5      n [         R                  " S[         R
                  -  5         [         R                  " SSS9nSu  p# UT
* U-  [         R                  " S	U-  5      -  [         R                  " U5      [         R                  " SU-  5      -  S	U-  -  -  -  nUS-  nUR                  U5      u  pEXP:  a  OUS
:  a  [        S5      eM  S S S 5        [         R                  " S[         R                  " U 5      -  5      n [         R                  " U
4S jS[         R                  /5      S-  [         R                  " S[         R                  -  5      -  n[!        WU-
  5      nXp:  d   e[         R"                  " U
4S jS[         R                  /SSS[         R
                  -  S/[%        S
5       Vs/ s H  nSPM     sn-   S9n	[!        XI-
  5      nXp:  d   eg ! , (       d  f       GN= fs  snf )Nr   r      r   r?   r
   )r   r   r      r   r   皙?c                 P   > [         R                  " U * U -  S-  TU S-  -  -
  5      $ )Nr   rQ   rB   rC   s    r   r   test_levin_3.<locals>.<lambda>^   s%    bffqb1fqj1qAv:&=>r   r   c                    > T* U -  [         R                  " SU -  5      -  [         R                  " U 5      [         R                  " SU -  5      -  SU -  -  -  $ )NrQ   r   rH   rJ   s    r   r   rT   c   sF    A2'BFF1q5M1RVVAYA5NRSWXRX5YZr      )r   r   workprecsteps)r   r   r   r   r    r!   r   rI   	step_psumr%   r&   r'   rL   r+   sqrtr)   r(   r*   xrange)r   r,   r   r.   r/   r0   rM   r1   rD   r2   rE   s             @r   test_levin_3r\   O   s   BFffQiA
&&.C	ai	 HHg51"q266!a%=(BFF1Iq1u,Ea,PQQAFA;;q>DAw4x|,FGG  
! &&rvvc{"
#CGG>266
KaORTRYRYZ[^`^c^cZcRddE a%i.C99
Z]^`b`f`f\gry  LO  \]  ^`  ^e  ^e  \e  pq  or  AG  HL  AM  uN  AM  |}  vw  AM  uN  oN  	OA
ae*C99% 
!	   uNs   .B&H%=H7%
H4c            	        ^ S[         l        [         R                  " [         R                  5         [         R                  " S5      S-  m[         R
                  " U4S jS[         R                  /SS9ST-  -
  n [        U [         R                  -
  5      S:  d   e S S S 5        [         R                  " S	[         R                  " [         R                  5      -  5      n[         R
                  " S
 S[         R                  /SS9n [        U [         R                  " S5      -
  5      U:  d   eSmU4S jn[         R
                  " US[         R                  /S[        S5       Vs/ s H  nSPM     snS9n[         R                  " S[         R                  " S5      -  S[         R                  " S5      -  S[         R                  " S5      -  T5      n[        XT-
  5      U:  d   eg ! , (       d  f       GNT= fs  snf )Nr   r=   ic                    > U ST-   * -  $ r   r   rJ   s    r   r   !test_levin_nsum.<locals>.<lambda>l   s    aAaC&kr   r   l)r   g|=rR   c                     SU S-
  -  U -  $ )Nr@   r   r   r   s    r   r   r_   q   s    21+/r   r>   r   y       @      ?c                 V  > [         R                  " S[         R                  " S5      -  U 5      [         R                  " S[         R                  " S5      -  U 5      -  TU -  -  [         R                  " S[         R                  " S5      -  U 5      [         R                  " U 5      -  -  $ )Nr      rQ   r   )r   rfr   rI   rJ   s    r   r   r_   u   sw    "%%BFF1Iq)BEE!bffQi-,CCadJbeeTUXZX^X^_`XaTacdNehjhnhnophqNqrr   r   r   r   )r   rX   rc   rQ   )r   r   r    r!   r   r*   r+   r(   eulerr&   r'   r   r[   hyp2f1)ar   frD   r/   rM   rE   s         @r   test_levin_nsumri   g   s^   BF	bgg	FF2J3GG)Arvv;EAM1rxx< 5((( 

 &&rvvbff~%
&C
)Arvv;HAq266!9}###ArA
Arvv;vd|:T|!2|:TUAIIa"&&)mQ]Aq	M1EEuy>C 
	 ;Us   A,G+(G=+
G:c                     S[         l        [         R                  " 5       n / SSp2n USU-  * [         R                  -  X3-  -  -  nUS-  nUR	                  U5        U R                  U5      u  pEU[         R                  :  a  OUS:  a  [        S5      eMp  [         R                  " S[         R                  " [         R                  5      -  5      n[        U[         R                  S-  S	-  -
  5      nXv:  d   eg )
Nr   r   r   r@   r   r   r   r      )r   r   	cohen_altr"   r#   r$   r   r%   r&   r'   r(   r)   )ACr-   r.   r   r/   r0   r   r1   s           r   test_cohen_alt_0rn   z   s    BF	B!Q!A
	qy\BFF"ae,,	Q	~~a rvv:t8<(BCC  &&rvvbff~%
&C
a"%%1*r/!
"C99r   c                     S[         l        / n [         R                  " 5       nSn U R                  [         R                  " S[         R
                  SU-  S-
  -  -   5      5        U R                  [         R                  " S[         R
                  SU-  -  -   5      * 5        US-  nUR                  U 5      u  p4U[         R                  :  a  OUS:  a  [        S5      eM  [         R                  " U5      n[        US-
  5      nUS:  d   eg )Nr   r   r   r   r   g?g-q=)r   r   rl   r#   loggammar"   r8   r   r%   r&   r(   )r:   rm   r   r/   r0   r1   s         r   test_cohen_alt_1rq      s    BF
A	B	A
	"++a"&&AEAI"6678	"++a"&&AE"22334	Qyy|rvv:t8<(BCC  	q	A
a""
#C;;r   N)mpmathr   r   backendr[   r3   r;   rN   r\   ri   rn   rq   r   r   r   <module>rt      s?     			**00 & r   