
    (ph'                     X    S SK r S SKrS SKJrJr  S SKJr   " S S5      r	 " S S5      r
g)    N)assert_allcloseassert_equalc                   |   \ rS rSrS rS r\R                  R                  SSS\	R                  /5      \R                  R                  SSS\	R                  /5      \R                  R                  S	S
S\	R                  /5      S 5       5       5       r\R                  R                  S/ SQ5      S 5       rS rSrg)
TestHyperu   c           	          [         R                  " / SQ/ SQ[         R                  " SSS5      5      u  pn[         R                  " [         R                  " [
        R                  " XU5      5      5      (       d   eg )N)      r         ?   r	   
   )npmeshgridlinspaceallisnanschyperuselfabxs       Z/var/www/html/venv/lib/python3.13/site-packages/scipy/special/tests/test_hypergeometric.pytest_negative_xTestHyperu.test_negative_x	   sU    ++!!KKb"%
a
 vvbhhryyq123333    c                 @    [         R                  " SSS5      S:X  d   eg )Nr   r         ?)r   r   r   s    r   test_special_casesTestHyperu.test_special_cases   s    yyAq!S(((r   r   r   r   r      r         ?   c                     [         R                  " [        R                  " XU5      5      [         R                  " [         R                  " XU/5      5      :X  d   eg N)r   r   r   r   anyr   s       r   test_nan_inputsTestHyperu.test_nan_inputs   s<     xx		!*+rvvbhhay6I/JJJJr   za,b,x,expected))~?r    h㈵>g{n@)r,   r    LEN=,?g@)r,   r    珙s?gS?K=@)r,   r    皙?g%?)瀸<}Zi?r    r-   gU?)r1   r    r.   gWYk?)r1   r    r/   g{У D?)r1   r    r0   g('?)4vQS?r    r-   gFs@)r2   r    r.   g`5)Fy@)r2   r    r/   g]?)r2   r    r0   g).?)@{~ޅr    r-   g?)r3   r    r.   gj?)r3   r    r/   g.6z*?)r3   r    r0   gdm25?)`nȰr    r-   gɛI.?)r4   r    r.   gGG?)r4   r    r/   g 3?)r4   r    r0   g?)ez$˿r    r-   gܔ)r5   r    r.   gJ|t)r5   r    r/   g)")r5   r    r0   gMȍ?c                 D    [        [        R                  " XU5      USS9  g )NvIh%<=rtol)r   r   r   r   r   r   r   expecteds        r   test_gh_15650_mpTestHyperu.test_gh_15650_mp   s    d 			!*H5Ar   c                 ,   [         R                  " SSS5      n[         R                  " SSS5      n[         R                  " X5      u  p[        R                  " USU5      n[         R
                  " [         R                  " U5      S:  5      (       d   eg )Nr
   r   i  gư>r0   r    g     @@)r   r   r   r   r   r   abs)r   r   r   resultss       r   test_gh_15650_sanityTestHyperu.test_gh_15650_sanityN   sl     KKc3'KKdC({{1 ))AsA&vvbffWo+,,,,r    N)__name__
__module____qualname____firstlineno__r   r"   pytestmarkparametrizer   nanr*   r<   rA   __static_attributes__rC   r   r   r   r      s    4) [[S3266"23[[S1a.1[[S4BFF"34K 5 2 4K [[	?6B76B2-r   r   c                      \ rS rSr\R
                  R                  S\R                  SS4S\R                  S4SS\R                  4/5      S 5       r	S r
\R
                  R                  S/ SQ5      S 5       r\R
                  R                  S/ S	Q5      S
 5       r\R
                  R                  S/ SQ5      S 5       r\R
                  R                  S/ SQ5      S 5       rS r\R
                  R                  S/ SQ5      S 5       r\R
                  R                  SSS/5      S 5       r\R
                  R                  SSSSS\R$                  " SSSS \R
                  R&                  S!9\R$                  " S"SS#S$\R
                  R&                  S!9/5      S% 5       r\R
                  R                  S&/ S'Q5      S( 5       rS) rS*rg+),
TestHyp1f1Y   za, b, xr   c                 h    [         R                  " [        R                  " XU5      5      (       d   eg r(   )r   r   r   hyp1f1r   s       r   r*   TestHyp1f1.test_nan_inputs[   s$     xx		!*++++r   c                 h    [        [        R                  " S/ SQS5      [        R                  5        g )Nr   )r   r	   r   r   r   rQ   r   infr!   s    r   
test_polesTestHyp1f1.test_polesc   s    RYYq"5s;RVVDr   za, b, x, result))r	   r   r   r   )r   r   r   g)a?)r$   r   r   g*@)r   r$   r   g8<S?)r   r   gO§ؿc                 F    [        [        R                  " XU5      USSS9  g Nr   gV瞯<atolr9   r   r   rQ   r   r   r   r   results        r   r"   TestHyp1f1.test_special_casesf        			!*FGr   ))r   r   )\(?gO<?)r	   r   re   gQ?)d   rf   {Gz?gz.A%{@)r   rf   rg   gG; ?)      ?rf   QM@gݕtu@)      rf   ri   gcmB?c                 F    [        [        R                  " XU5      USSS9  g r]   r`   ra   s        r   test_geometric_convergence%TestHyp1f1.test_geometric_convergencer   s     			!*FGr   ))r	   r   rh   r
   )r[   r   rh   gӐs?)ir   rh   g*A ?)ir   rh   gIpп)ir   rh   gi%omϿ)ijr   rh   gNO0ƿc                 F    [        [        R                  " XU5      USSS9  g )Nr   g+=r^   r`   ra   s        r   test_a_negative_integer"TestHyp1f1.test_a_negative_integer   rd   r   za, b, x, expected)){Gz?   rV   g_?)r      rq   g 
4?)2   rf   rq   g#?)r   333333?g     @gnF)r   ru   g     g
VkZ)	         !@ig@l)rv   rw   igB	b )K   g     ^   g%C"JAc                 F    [        [        R                  " XU5      USSS9  g )Nr   g+=r^   r`   r:   s        r   test_assorted_casesTestHyp1f1.test_assorted_cases   s     			!*H15Ir   c                 X    SnSnSnSn[         R                  " XU5      n[        XTSSS9  g )Ng      $      @g.^?r   r7   r^   r   rQ   r   )r   r   r   r   r;   computeds         r   test_a_neg_int_and_b_equal_x'TestHyp1f1.test_a_neg_int_and_b_equal_x   s4     +99Q1%?r   za, b, x, desired))r	   rT   r$   r$   )r	   rV   r   g      @)rT   rT   r   r~   c                 >    [         R                  " XU5      U:X  d   eg r(   r   rQ   )r   r   r   r   desireds        r   test_gh_11099TestHyp1f1.test_gh_11099   s     yyq!W,,,r   r   rU   rT   c                 @    [         R                  " USS5      S:X  d   eg )NrU   r   r   r   )r   r   s     r   'test_x_zero_a_and_b_neg_ints_and_a_ge_b2TestHyp1f1.test_x_zero_a_and_b_neg_ints_and_a_ge_b   s    yyB"a'''r   za, b, z, ref)g      пr         ?       @y"=?rBw)r%   r   r   y{[?;8?)   rh   y              yI,/j!I篩py@)   rj   y      $      4@yßsS
z4r      y      $@      .yQw-?<kʁ()marksr0   y      @      8y/_
N@7@c                 F    [         R                  " XU5      n[        XTSS9  g )NgV瞯<r8   r   )r   r   r   zrefhs         r   test_complex_zTestHyp1f1.test_complex_z   s    " IIaAU+r   r   )r   r	   c                     [        [        R                  " SU/ SQ5      [        R                  [        R                  [        R                  /5        g )Nr   )rj   r   rh   rW   )r   r   s     r   test_legacy_case1TestHyp1f1.test_legacy_case1   s.     	RYYq!^4rvvrvvrvv6NOr   c                 \    [         R                  " SSS5      [        R                  :X  d   eg )NrV   rU   r   )r   rQ   r   rX   r!   s    r   test_legacy_case2TestHyp1f1.test_legacy_case2   s#     yyR#rvv---r   rC   N)rD   rE   rF   rG   rH   rI   rJ   r   rK   r*   rY   r"   rl   ro   r{   r   r   r   paramxfailr   r   r   rL   rC   r   r   rN   rN   Y   s   [[Y	A	
BFFA	
Arvv) 
,
,E [[. 1 HH
 [[. 1 HH [[. 1 HH [[0 	3 	J	J@ [[/ 2 
-
- [[S2r(+( ,( [[	C	B	?	D	fD;;$$
 
!UA;;$$
	 ,! , [[S+.P /P.r   rN   )rH   numpyr   numpy.testingr   r   scipy.specialspecialr   r   rN   rC   r   r   <module>r      s*      7 O- O-dQ. Q.r   