Ë
    1Ò^jÒ  ã                   óF  — d dl Z d dlZd dlZd dlmZmZmZ d dlZd dlm	Z
 d dlmZ d dlmZ ddddd	d
dddddœ
Zg d¢Zd„ Zd„ Zd„ Zej*                  j-                  d¬«      ej*                  j/                  e d¬«      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z y) é    N)Úassert_Úassert_equalÚHAS_REFCOUNT)Úraises)Ú_sf_error_test_functioné   é   é   é   é   é   é   é   é	   é
   )
ÚsingularÚ	underflowÚoverflowÚslowÚlossÚ	no_resultÚdomainÚargÚotherÚmemory)ÚignoreÚwarnÚraisec                 óÖ  — t        j                  |t        j                  d«      ¬«      }|dk(  r2t        j                  t
        j                  «      5   | |Ž  d d d «       y |dk(  r(t        t
        j                  «      5   | |Ž  d d d «       y t        j                  «       5  t        j                  d«        | |Ž  d d d «       y # 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)NÚlong)Údtyper   r   Úerror)ÚnpÚasarrayr!   ÚpytestÚwarnsÚscÚSpecialFunctionWarningÚassert_raisesÚSpecialFunctionErrorÚwarningsÚcatch_warningsÚsimplefilter)ÚfunÚargsÚactions      úl/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/special/tests/test_sf_error.pyÚ_check_actionr2   !   sÌ   € ô �:‰:�d¤"§(¡(¨6Ó"2Ô3€DØ�ÒÜ�\‰\œ"×3Ñ3Ó4ñ 	Ù�‰J÷	ð 	à	�7Ò	Üœ2×2Ñ2Ó3ñ 	Ù�‰J÷	ð 	ô ×$Ñ$Ó&ñ 	Ü×!Ñ! 'Ô*Ù�‰J÷	ð 	÷	ð 	ú÷	ð 	ú÷	ð 	ús$   ÁCÂ CÂ#CÃCÃCÃC(c                  ó    — t        j                  «       } | j                  «       D ]'  \  }}t        |t        v «       t        |t
        v «       Œ) y )N)r'   ÚgeterrÚitemsr   Ú_sf_error_code_mapÚ_sf_error_actions)ÚerrÚkeyÚvalues      r1   Útest_geterrr;   2   sB   € Ü
�)‰)‹+€CØ—i‘i“kò ,‰
ˆˆUÜ�Ô)Ð)Ô*Ü�Ô*Ð*Õ+ñ,ó    c                  ó  — t        j                  «       } 	 t        j                  «       D ]°  \  }}t        D ]¢  }t        j                  «       }t        j
                  di ||i¤Ž}t        ||k(  «       t        j                  «       }t        ||   |k(  «       |j                  |«       |j                  |«       t        ||k(  «       t        t        |f|«       Œ¤ Œ² 	 t        j
                  di | ¤Ž y # t        j
                  di | ¤Ž w xY w©N© )
r'   r4   r6   r5   r7   Úseterrr   Úpopr2   r   )Ú	entry_errÚcategoryÚ
error_coder0   Úgeterr_olderrÚseterr_olderrÚnewerrs          r1   Útest_seterrrH   9   sä   € Ü—	‘	“€IðÜ$6×$<Ñ$<Ó$>ò 
	NÑ ˆH�jÜ+ò 	N�Ü "§	¡	£�Ü "§	¡	Ñ ?¨X°vÐ,>Ñ ?�Ü˜¨Ñ6Ô7ÜŸ™›�Ü˜˜xÑ(¨FÑ2Ô3Ø×!Ñ! (Ô+Ø—
‘
˜8Ô$Ü˜¨Ñ/Ô0ÜÔ5¸
°}ÀfÕMñ	Nñ
	Nô 	�	‰	Ñ�IÓøŒ�	‰	Ñ�IÓús   –CC4 Ã4Dz3module refcounts are not stable in multiple threads)ÚreasonzPython lacks refcountsc                  ój  — t        j                  t        «      } t        j                  d¬«      5  t	        j
                  t        j                  d¬«      5  t        j                  d«       d d d «       d d d «       t        j                  t        «      }|| k(  sJ ‚y # 1 sw Y   Œ2xY w# 1 sw Y   Œ6xY w)Nr   ©Úallzdomain error©Úmatchg       @)ÚsysÚgetrefcountr'   Úerrstater%   r   r*   Úndtri)Úrefcount_beforeÚrefcount_afters     r1   Útest_sf_error_special_refcountrU   K   s…   € ô —o‘o¤bÓ)€OÜ	�‰˜Ô	!ñ Ü�]‰]œ2×2Ñ2¸.ÔIñ 	Ü�H‰H�SŒM÷	÷ô —_‘_¤RÓ(€NØ˜_Ò,Ð,Ñ,÷	ð 	ú÷ð ús#   °&B)ÁBÁ,B)ÂB&	Â"B)Â)B2c                  óD  — t        j                  «       } t        j                  d¬«      5  t        t         j                  «      5  t        j
                  d«       d d d «       d d d «       t        | t        j                  «       «       y # 1 sw Y   Œ0xY w# 1 sw Y   Œ4xY w©Nr   ©r   r   )r'   r4   rQ   r)   r*   Úloggammar   ©Úolderrs    r1   Útest_errstate_pyx_basicr\   Y   sn   € Ü�Y‰Y‹[€FÜ	�‰˜gÔ	&ñ Üœ2×2Ñ2Ó3ñ 	Ü�K‰K˜ŒN÷	÷ô �œŸ™›Õ%÷	ð 	ú÷ð úó#   «BÁB
ÁBÂ
B	ÂBÂBc                  óD  — t        j                  «       } t        j                  d¬«      5  t        t         j                  «      5  t        j
                  d«       d d d «       d d d «       t        | t        j                  «       «       y # 1 sw Y   Œ0xY w# 1 sw Y   Œ4xY w)Nr   )r   éÿÿÿÿ)r'   r4   rQ   r)   r*   Úspencer   rZ   s    r1   Útest_errstate_c_basicra   a   sn   € Ü�Y‰Y‹[€FÜ	�‰˜GÔ	$ñ Üœ2×2Ñ2Ó3ñ 	Ü�I‰I�bŒM÷	÷ô �œŸ™›Õ%÷	ð 	ú÷ð úr]   c                  óD  — t        j                  «       } t        j                  d¬«      5  t        t         j                  «      5  t        j
                  d«       d d d «       d d d «       t        | t        j                  «       «       y # 1 sw Y   Œ0xY w# 1 sw Y   Œ4xY w)Nr   )r   iüÿÿ)r'   r4   rQ   r)   r*   Úwrightomegar   rZ   s    r1   Útest_errstate_cpp_basicrd   i   so   € Ü�Y‰Y‹[€FÜ	�‰˜wÔ	'ñ "Üœ2×2Ñ2Ó3ñ 	"Ü�N‰N˜5Ô!÷	"÷"ô �œŸ™›Õ%÷	"ð 	"ú÷"ð "úr]   c                  óF  — t        j                  «       } t        j                  d¬«      5  t        t         j                  «      5  t        j
                  dd«       d d d «       d d d «       t        | t        j                  «       «       y # 1 sw Y   Œ0xY w# 1 sw Y   Œ4xY w)Nr   rX   r   r   )r'   r4   rQ   r)   r*   Úlambertwr   rZ   s    r1   Útest_errstate_cpp_scipy_specialrg   q   sq   € Ü�Y‰Y‹[€FÜ	�‰˜gÔ	&ñ Üœ2×2Ñ2Ó3ñ 	Ü�K‰K˜˜1Ô÷	÷ô �œŸ™›Õ%÷	ð 	ú÷ð ús#   «BÁBÁBÂB	ÂBÂB c                  óD  — t        j                  «       } t        j                  d¬«      5  t        t         j                  «      5  t        j
                  d«       d d d «       d d d «       t        | t        j                  «       «       y # 1 sw Y   Œ0xY w# 1 sw Y   Œ4xY wrW   )r'   r4   rQ   r)   r*   Úgammalnr   rZ   s    r1   Ú%test_errstate_cpp_alt_ufunc_machineryrj   y   sn   € Ü�Y‰Y‹[€FÜ	�‰˜gÔ	&ñ Üœ2×2Ñ2Ó3ñ 	Ü�J‰J�qŒM÷	÷ô �œŸ™›Õ%÷	ð 	ú÷ð úr]   c                  ó2  — t         j                  «       D ]t  \  } }t        D ]f  }t        j                  «       }t        j
                  di | |i¤Ž5  t        t        |f|«       d d d «       t        |t        j                  «       «       Œh Œv y # 1 sw Y   Œ,xY wr>   )	r6   r5   r7   r'   r4   rQ   r2   r   r   )rC   rD   r0   r[   s       r1   Útest_errstaterl   �   s…   € Ü 2× 8Ñ 8Ó :ò .Ñˆ�*Ü'ò 	.ˆFÜ—Y‘Y“[ˆFÜ—‘Ñ2 ¨&Ð1Ñ2ñ NÜÔ5¸
°}ÀfÔM÷Nä˜¤§¡£Õ-ñ		.ñ.÷Nð Nús   ÁBÂBc                  óp  — t        j                  «       } t        j                  dd¬«      5  t        j                  d«       t	        t         j
                  «      5  t        j                  d«       d d d «       d d d «       t        | t        j                  «       «       y # 1 sw Y   Œ0xY w# 1 sw Y   Œ4xY w)Nr   r   )rL   r   r   g      ð¿)r'   r4   rQ   ri   r)   r*   r`   r   rZ   s    r1   Útest_errstate_all_but_onern   Š   s{   € Ü�Y‰Y‹[€FÜ	�‰˜¨8Ô	4ñ Ü
�
‰
�1ŒÜœ2×2Ñ2Ó3ñ 	Ü�I‰I�dŒO÷	÷ô �œŸ™›Õ%÷	ð 	ú÷ð ús#   ¬/B,ÁB Á1B,Â B)	Â%B,Â,B5c                  óú   — t        j                  t        j                  d¬«      5  t        j                  d¬«      5  t        j
                  dd«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr   rM   r   rK   r
   gùÉhÍY"*)r%   r   r'   r*   rQ   Úynr?   r<   r1   Útest_check_overflow_messagerq   “   sa   € ô 
�‰”r×.Ñ.°jÔ	Añ Ü�[‰[˜WÔ%ñ 	ä�E‰E�!�VÔ÷	÷ð ÷	ð 	ú÷ð ús"   ¦A1½A%ÁA1Á%A.	Á*A1Á1A:)!rO   r+   Únumpyr#   Únumpy.testingr   r   r   r%   r   r)   Úscipy.specialÚspecialr'   Úscipy.special._ufuncsr   r6   r7   r2   r;   rH   ÚmarkÚthread_unsafeÚskipifrU   r\   ra   rd   rg   rj   rl   rn   rq   r?   r<   r1   ú<module>rz      sÐ   ðÛ 
Û ã ß =Ñ =Û Ý *å Ý 9ð ØØØØØØØØØñÐ òÐ òò",òð$ ‡�×ÑÐ"WÐÓXØ‡�×Ñ˜Ð$Ð-EÐÓFñ	-ó Gó Yð	-ò&ò&ò&ò&ò&ò.ò&ór<   