§
    fŠtj'  ã                   ó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                   óh  — 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
ej                             dg d¢¦  «        d„ ¦   «         Z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       úe/var/www/html/CA-Chatbot/venv/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   ç      ð?)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   za,b,x,expected))ç~›çŸË?r   çñhãˆµøä>g{n™öÓ@)r(   r   çLE˜N=,?gÅøç„Ï@)r(   r   ç�™Þs?gËS?K=@)r(   r   çš™™™™™¹?g›ù–%÷?)ç€¸Ù<}Zi?r   r)   g‘ˆU’ð?)r-   r   r*   g“WYkð?)r-   r   r+   g{äÐ£ Dð?)r-   r   r,   gæ('ð?)ç4“vQ¸SÃ?r   r)   gFs@)r.   r   r*   gÔ`5)Fy@)r.   r   r+   g]“•³©ý?)r.   r   r,   gà�ä)ÿ.õ?)ç@{~ÞÞ…¿r   r)   g´ÙÁ£ì?)r/   r   r*   gjÜì‹í?)r/   r   r+   g.Ø6¢z*î?)r/   r   r,   gdm2¶5ï?)ç`n¸«òÈ°¿r   r)   g¨É›I.ëÐ?)r0   r   r*   göÑÀGGÝ?)r0   r   r+   g ­–3¢Òä?)r0   r   r,   gêØâÍÍë?)çè”ez$¯Ë¿r   r)   gÆùÜ”µó¿)r1   r   r*   gôšÈJ|tå¿)r1   r   r+   g)"¿­¢»¿)r1   r   r,   gûöMÈ�ÿÝ?c                 óR   — t          t          j        |||¦  «        |d¬¦  «         d S )Nç‚vIhÂ%<=©Úrtol)r   r   r   ©r   r   r   r   Úexpecteds        r   Útest_gh_15650_mpzTestHyperu.test_gh_15650_mp   s.   € õd 	�œ	 ! Q¨Ñ*Ô*¨H¸5ÐAÑAÔAÐAÐAÐAr   c                 ó  — t          j        ddd¦  «        }t          j        ddd¦  «        }t          j        ||¦  «        \  }}t          j        |d|¦  «        }t          j        t          j        |¦  «        dk     ¦  «        sJ ‚d S )Nr	   r
   iô  g�íµ ÷Æ°>r,   r   g     @�@)r   r   r   r   r   r   Úabs)r   r   r   Úresultss       r   Útest_gh_15650_sanityzTestHyperu.test_gh_15650_sanityN   s{   € õ ŒK˜˜c 3Ñ'Ô'ˆÝŒK˜˜d CÑ(Ô(ˆÝŒ{˜1˜aÑ Ô ‰ˆˆ1Ý”)˜A˜s AÑ&Ô&ˆÝŒv•b”f˜W‘o”o¨Ò+Ñ,Ô,Ð,Ð,Ð,Ð,Ð,r   N)Ú__name__Ú
__module__Ú__qualname__r   r    ÚpytestÚmarkÚparametrizer   Únanr'   r8   r<   © 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ð „[×ÒØð	?ð 	?ð 	?ñô ð6Bð Bñ7ô ð6Bð2-ð -ð -ð -ð -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   rH   r   Úinfr   s    r   Ú
test_poleszTestHyp1f1.test_polesc   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çž¯Ò<©Úatolr5   ©r   r   rH   ©r   r   r   r   Úresults        r   r    zTestHyp1f1.test_special_casesf   ó/   € õ 	�œ	 ! Q¨Ñ*Ô*¨F¸ÀÐGÑGÔGÐGÐGÐGr   ))r   r   ç)\�Âõ(Ü?gO<†ã×ø?)r   r   rY   gìQ¸…ëá?)éd   rZ   ç{®Gázì?gªz.A%{@)r   rZ   r[   gG;« °Ú?)ç      ø?rZ   ç…ëQ¸þM@g¸Ý•¡tu@)ç      ø¿rZ   r]   gÄcämBÐ?c                 óT   — t          t          j        |||¦  «        |dd¬¦  «         d S rR   rU   rV   s        r   Útest_geometric_convergencez%TestHyp1f1.test_geometric_convergencer   s/   € õ 	�œ	 ! Q¨Ñ*Ô*¨F¸ÀÐGÑGÔGÐGÐGÐGr   ))r   r   r\   r	   )rP   r   r\   gÓ�sŸÍÀÚ?)içÿÿÿr   r\   g*A° ÂÐ?)iÎÿÿÿr   r\   gÐöIpÐ¿)i°ÿÿÿr   r\   gi†%oömÏ¿)ijÿÿÿr   r\   gN‚OÑ0Æ¿c                 óT   — t          t          j        |||¦  «        |dd¬¦  «         d S )Nr   g›+¡†›„=rS   rU   rV   s        r   Útest_a_negative_integerz"TestHyp1f1.test_a_negative_integer‚   rX   r   za, b, x, expected))ç{®Gáz„?é–   rL   g•_€Øýï?)r   é   rc   g 
ú¦4ð?)é2   rZ   rc   g¶#ˆð?)r   ç333333Ó?g     @�Àg½nüúF¿)r   rg   g     ˆÃÀg
»ªVkZ¿)é	   ç      !@i¢þÿÿgó©Æ@lÖî»)rh   ri   i�þÿÿgBœ˜	b ë»)éK   g     à^Àé   g%CÝõì"JAc                 óT   — t          t          j        |||¦  «        |dd¬¦  «         d S )Nr   g›+¡†›„=rS   rU   r6   s        r   Útest_assorted_caseszTestHyp1f1.test_assorted_casesŽ   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   r3   rS   ©r   rH   r   )r   r   r   r   r7   Ú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   rJ   r!   r!   )r   rL   r   g      @)rJ   rJ   r   ro   c                 ó>   — t          j        |||¦  «        |k    sJ ‚d S r%   ©r   rH   )r   r   r   r   Údesireds        r   Útest_gh_11099zTestHyp1f1.test_gh_11099©   s)   € õ Œy˜˜A˜qÑ!Ô! WÒ,Ð,Ð,Ð,Ð,Ð,r   r   rK   rJ   c                 ó>   — t          j        |dd¦  «        dk    sJ ‚d S )NrK   r   r   rt   )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_b²   s'   € åŒy˜˜B Ñ"Ô" aÒ'Ð'Ð'Ð'Ð'Ð'r   za, b, z, ref)g      Ð¿r
   ù      ð?       @y"±=çò?rBº¨wô¿)r"   r
   ry   y{¯­[üˆÏ?„;à8è±ô?)é   r\   y       €       ÀyI,/Áj!€ÀIç¯©py@)é   r^   y      $À      4@yÃŸÛsSÁ†ðéÍ
z4Ár   éú   y      $@      .ÀyQ¸w-ó?<kÊ�(�ë¿)Úmarksr,   y      @      8Ày/�Ï_ä²À
N@¥ò7@c                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S )NgVçž¯ò<r4   rp   )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   )r^   r   r\   rM   )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 )NrL   rK   r   )r   rH   r   rN   r   s    r   Útest_legacy_case2zTestHyp1f1.test_legacy_case2æ   s+   € õ Œy˜˜R Ñ#Ô#¥r¤vÒ-Ð-Ð-Ð-Ð-Ð-r   N)r=   r>   r?   r@   rA   rB   r   rC   r'   rO   r    r`   rb   rm   rr   rv   rx   ÚparamÚxfailr‚   r…   r‡   rD   r   r   rF   rF   Y   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   rF   )r@   Únumpyr   Únumpy.testingr   r   Úscipy.specialÚspecialr   r   rF   rD   r   r   ú<module>rŽ      s±   ðØ €€€Ø Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø Ð Ð Ð Ð Ð ðO-ð O-ð O-ð O-ð O-ñ O-ô O-ð O-ðdQ.ð Q.ð Q.ð Q.ð Q.ñ Q.ô Q.ð Q.ð Q.ð Q.r   