§
    ¢éUgÌ  ã                   óf   — d dl Z d dlZd dlmZmZ d dlmZ  G d„ d¦  «        Z	 G d„ d¦  «        Z
dS )é    N)Úassert_allcloseÚassert_equalc                   ó  — e Zd Zd„ Zd„ Zej                             dddej	        g¦  «        ej                             dddej	        g¦  «        ej                             dd	d
ej	        g¦  «        d„ ¦   «         ¦   «         ¦   «         Z
dS )Ú
TestHyperuc           	      óâ   — t          j        g d¢g d¢t          j        ddd¦  «        ¦  «        \  }}}t          j        t          j        t          j        |||¦  «        ¦  «        ¦  «        sJ ‚d S )N)éÿÿÿÿç      à¿r   ç      à?é   éœÿÿÿr   é
   )ÚnpÚmeshgridÚlinspaceÚallÚisnanÚscÚhyperu©ÚselfÚaÚbÚxs       úf/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/special/tests/test_hypergeometric.pyÚtest_negative_xzTestHyperu.test_negative_x	   sr   € Ý”+Ø!Ð!Ð!Ø!Ð!Ð!ÝŒK˜˜b "Ñ%Ô%ñ
ô 
‰ˆˆ1ˆaõ
 Œv•b”h�rœy¨¨A¨qÑ1Ô1Ñ2Ô2Ñ3Ô3Ð3Ð3Ð3Ð3Ð3ó    c                 ó>   — t          j        ddd¦  «        dk    sJ ‚d S )Nr   r   g      ð?)r   r   ©r   s    r   Útest_special_caseszTestHyperu.test_special_cases   s'   € ÝŒy˜˜A˜qÑ!Ô! SÒ(Ð(Ð(Ð(Ð(Ð(r   r   r
   r   r   é   r   ç      Ð?é   c                 ó°   — t          j        t          j        |||¦  «        ¦  «        t          j        t          j        |||g¦  «        ¦  «        k    sJ ‚d S ©N)r   r   r   r   Úanyr   s       r   Útest_nan_inputszTestHyperu.test_nan_inputs   sM   € õ Œx�œ	 ! Q¨Ñ*Ô*Ñ+Ô+­r¬vµb´hÀÀ1Àa¸yÑ6IÔ6IÑ/JÔ/JÒJÐJÐJÐJÐJÐJr   N)Ú__name__Ú
__module__Ú__qualname__r   r   ÚpytestÚmarkÚparametrizer   Únanr&   © r   r   r   r      s¹   € € € € € ð4ð 4ð 4ð)ð )ð )ð „[×Ò˜S 3¨¨2¬6Ð"2Ñ3Ô3Ø„[×Ò˜S 1 a¨¬ .Ñ1Ô1Ø„[×Ò˜S 4¨¨B¬FÐ"3Ñ4Ô4ðKð Kñ 5Ô4ñ 2Ô1ñ 4Ô3ðKð Kð Kr   r   c                   óz  — e Zd Zej                             dej        ddfdej        dfddej        fg¦  «        d„ ¦   «         Zd„ Z	ej                             dg d¢¦  «        d„ ¦   «         Z
ej                             dg d¢¦  «        d	„ ¦   «         Zej                             dg d
¢¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         Zej                             ddddd ej        ddddej        j        ¬ ¦  «         ej        d!dd"d#ej        j        ¬ ¦  «        g¦  «        d$„ ¦   «         Zej                             d%g d&¢¦  «        d'„ ¦   «         Zd(„ Zd)S )*Ú
TestHyp1f1za, b, xr   c                 óZ   — t          j        t          j        |||¦  «        ¦  «        sJ ‚d S r$   )r   r   r   Úhyp1f1r   s       r   r&   zTestHyp1f1.test_nan_inputs   s.   € õ Œx�œ	 ! Q¨Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r   c                 óf   — t          t          j        dg d¢d¦  «        t          j        ¦  «         d S )Nr   )r   r   éþÿÿÿéýÿÿÿéüÿÿÿr
   ©r   r   r2   r   Úinfr   s    r   Ú
test_poleszTestHyp1f1.test_poles%   s/   € Ý•R”Y˜qÐ"5Ð"5Ð"5°sÑ;Ô;½R¼VÑDÔDÐDÐDÐ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                 óT   — t          t          j        |||¦  «        |dd¬¦  «         d S ©Nr   gVçž¯Ò<©ÚatolÚrtol©r   r   r2   ©r   r   r   r   Úresults        r   r   zTestHyp1f1.test_special_cases(   ó/   € õ 	�œ	 ! Q¨Ñ*Ô*¨F¸ÀÐGÑGÔGÐGÐGÐGr   ))r   r   ç)\�Âõ(Ü?gO<†ã×ø?)r   r   rD   gìQ¸…ëá?)éd   rE   ç{®Gázì?gªz.A%{@)r   rE   rF   gG;« °Ú?)ç      ø?rE   ç…ëQ¸þM@g¸Ý•¡tu@)ç      ø¿rE   rH   gÄcämBÐ?c                 óT   — t          t          j        |||¦  «        |dd¬¦  «         d S r<   r@   rA   s        r   Útest_geometric_convergencez%TestHyp1f1.test_geometric_convergence4   s/   € õ 	�œ	 ! Q¨Ñ*Ô*¨F¸ÀÐGÑGÔGÐGÐGÐGr   ))r   r   rG   r	   )r:   r   rG   gÓ�sŸÍÀÚ?)içÿÿÿr   rG   g*A° ÂÐ?)iÎÿÿÿr   rG   gÐöIpÐ¿)i°ÿÿÿr   rG   gi†%oömÏ¿)ijÿÿÿr   rG   gN‚OÑ0Æ¿c                 óT   — t          t          j        |||¦  «        |dd¬¦  «         d S )Nr   g›+¡†›„=r=   r@   rA   s        r   Útest_a_negative_integerz"TestHyp1f1.test_a_negative_integerD   rC   r   za, b, x, expected))ç{®Gáz„?é–   r6   g•_€Øýï?)r   é   rN   g 
ú¦4ð?)é2   rE   rN   g¶#ˆð?)r   ç333333Ó?g     @�Àg½nüúF¿)r   rR   g     ˆÃÀg
»ªVkZ¿)é	   ç      !@i¢þÿÿgó©Æ@lÖî»)rS   rT   i�þÿÿgBœ˜	b ë»)éK   g     à^Àé   g%CÝõì"JAc                 óT   — t          t          j        |||¦  «        |dd¬¦  «         d S )Nr   g›+¡†›„=r=   r@   )r   r   r   r   Úexpecteds        r   Útest_assorted_caseszTestHyp1f1.test_assorted_casesP   s/   € õ 	�œ	 ! Q¨Ñ*Ô*¨H¸1À5ÐIÑIÔIÐIÐIÐIr   c                 óh   — d}d}d}d}t          j        |||¦  «        }t          ||dd¬¦  «         d S )Ng      $Àç      @gŽ.Î^´¢?r   g‚vIhÂ%<=r=   ©r   r2   r   )r   r   r   r   rX   Úcomputeds         r   Útest_a_neg_int_and_b_equal_xz'TestHyp1f1.test_a_neg_int_and_b_equal_x^   sH   € ð ˆØˆØˆØ+ˆÝ”9˜Q  1Ñ%Ô%ˆÝ˜ (°¸Ð?Ñ?Ô?Ð?Ð?Ð?r   za, b, x, desired))r   r4   r    r    )r   r6   r   g      @)r4   r4   r   r[   c                 ó>   — t          j        |||¦  «        |k    sJ ‚d S r$   ©r   r2   )r   r   r   r   Údesireds        r   Útest_gh_11099zTestHyp1f1.test_gh_11099k   s)   € õ Œy˜˜A˜qÑ!Ô! WÒ,Ð,Ð,Ð,Ð,Ð,r   r   r5   r4   c                 ó>   — t          j        |dd¦  «        dk    sJ ‚d S )Nr5   r   r   r`   )r   r   s     r   Ú'test_x_zero_a_and_b_neg_ints_and_a_ge_bz2TestHyp1f1.test_x_zero_a_and_b_neg_ints_and_a_ge_bt   s'   € åŒy˜˜B Ñ"Ô" aÒ'Ð'Ð'Ð'Ð'Ð'r   za, b, z, ref)g      Ð¿r
   ù      ð?       @y"±=çò?rBº¨wô¿)r!   r
   re   y{¯­[üˆÏ?„;à8è±ô?)é   rG   y       €       ÀyI,/Áj!€ÀIç¯©py@)é   rI   y      $À      4@yÃŸÛsSÁ†ðéÍ
z4Ár   éú   y      $@      .ÀyQ¸w-ó?<kÊ�(�ë¿)Úmarksgš™™™™™¹?y      @      8Ày/�Ï_ä²À
N@¥ò7@c                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S )NgVçž¯ò<)r?   r\   )r   r   r   ÚzÚrefÚhs         r   Útest_complex_zzTestHyp1f1.test_complex_z„   s2   € õ" ŒI�a˜˜AÑÔˆÝ˜˜3 UÐ+Ñ+Ô+Ð+Ð+Ð+r   r   )r   r   éûÿÿÿc                 ó”   — t          t          j        d|g d¢¦  «        t          j        t          j        t          j        g¦  «         d S )Nr   )rI   r   rG   r7   )r   r   s     r   Útest_legacy_case1zTestHyp1f1.test_legacy_case1Ÿ   s9   € õ 	•R”Y˜q ! ^ ^ ^Ñ4Ô4µr´v½r¼vÅrÄvÐ6NÑOÔOÐOÐOÐOr   c                 óR   — t          j        ddd¦  «        t          j        k    sJ ‚d S )Nr6   r5   r   )r   r2   r   r8   r   s    r   Útest_legacy_case2zTestHyp1f1.test_legacy_case2¨   s+   € õ Œy˜˜R Ñ#Ô#¥r¤vÒ-Ð-Ð-Ð-Ð-Ð-r   N)r'   r(   r)   r*   r+   r,   r   r-   r&   r9   r   rK   rM   rY   r^   rb   rd   ÚparamÚxfailrn   rq   rs   r.   r   r   r0   r0      sð  € € € € € à„[×Ò˜YØ	Œ��AˆØ	
ˆBŒF�AˆØ	
ˆAˆrŒvˆð)ñ ô ð
,ð ,ñô ð
,ðEð Eð Eð „[×ÒÐ.ð 1ð 1ð 1ñ ô ðHð Hñô ðHð
 „[×ÒÐ.ð 1ð 1ð 1ñ ô ðHð Hñô ðHð „[×ÒÐ.ð 1ð 1ð 1ñ ô ðHð Hñô ðHð „[×ÒÐ0ð 	3ð 	3ð 	3ñ 	ô 	ðJð Jñ	ô 	ðJð@ð @ð @ð „[×ÒÐ/ð 2ð 2ð 2ñ ô ð
-ð -ñô ð
-ð „[×Ò˜S 2 r (Ñ+Ô+ð(ð (ñ ,Ô+ð(ð „[×ÒØØ	CØ	BØ	?Ø	DØ	ˆŒØ��fÐDØ”;Ô$ð
ñ 
ô 
ð 
ˆŒØ�!�UÐAØ”;Ô$ð
ñ 
ô 
ð	ñô ð ,ð ,ñ!ô ð ,ð „[×Ò˜S + + +Ñ.Ô.ðPð Pñ /Ô.ðPð.ð .ð .ð .ð .r   r0   )r*   Únumpyr   Únumpy.testingr   r   Úscipy.specialÚspecialr   r   r0   r.   r   r   ú<module>rz      s°   ðØ €€€Ø Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø Ð Ð Ð Ð Ð ðKð Kð Kð Kð Kñ Kô Kð Kð(Q.ð Q.ð Q.ð Q.ð Q.ñ Q.ô Q.ð Q.ð Q.ð Q.r   