
    Ui                     t   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ej        j        d             Zej        j        ej                            e d          d                         Zd Zd Zd Zd Zd Zej        j        d             Zd ZdS )    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    r>t          j        t
          j                  5   | |  d d d            d S # 1 swxY w Y   d S |dk    r9t          t
          j                  5   | |  d d d            d S # 1 swxY w Y   d S t          j
                    5  t          j        d            | |  d d d            d S # 1 swxY w Y   d S )Nlong)dtyper   r   error)npasarrayr!   pytestwarnsscSpecialFunctionWarningassert_raisesSpecialFunctionErrorwarningscatch_warningssimplefilter)funargsactions      y/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/scipy/special/tests/test_sf_error.py_check_actionr2   !   s    :d"(6"2"2333D\"344 	 	CJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 		7		2233 	 	CJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $&& 	 	!'***CJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s6   A  A$'A$BB#&B#?C&&C*-C*c                      t          j                    } |                                 D ]1\  }}t          |t          v            t          |t
          v            2d S )N)r'   geterritemsr   _sf_error_code_map_sf_error_actions)errkeyvalues      r1   test_geterrr;   2   s]    
)++Ciikk , ,
U))*****++++, ,    c                  B   t          j                    } 	 t                                          D ]\  }}t          D ]}t          j                    }t          j        di ||i}t          ||k               t          j                    }t          ||         |k               |                    |           |                    |           t          ||k               t          t          |f|           	 t          j        di |  d S # 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   s7   	I$6$<$<$>$> 
	N 
	N Hj+ 	N 	N "	 "	 ? ?Xv,> ? ?6777x(F2333!!(+++

8$$$/0005
}fMMMM	N
	N 		I	Is   C"D DzPython lacks refcounts)reasonc                  l   t          j        t                    } t          j        d          5  t	          j        t          j        d          5  t          j        d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t                    }|| k    sJ d S )Nr   )allzdomain error)matchg       @)sysgetrefcountr'   errstater%   r   r*   ndtri)refcount_beforerefcount_afters     r1   test_sf_error_special_refcountrS   L   s    ob))O		!	!	!  ]22.III 	 	HSMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               _R((N_,,,,,,s5   !BA1%B1A5	5B8A5	9BBBc                  R   t          j                    } t          j        d          5  t          t           j                  5  t          j        d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          | t          j                               d S Nr   r   r   )r'   r4   rO   r)   r*   loggammar   olderrs    r1   test_errstate_pyx_basicrZ   Z   s   Y[[F	g	&	&	&  2233 	 	KNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               %%%%%5   A;A$A;$A(	(A;+A(	,A;;A?A?c                  R   t          j                    } t          j        d          5  t          t           j                  5  t          j        d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          | t          j                               d S )Nr   )r   )r'   r4   rO   r)   r*   spencer   rX   s    r1   test_errstate_c_basicr_   b   s   Y[[F	G	$	$	$  2233 	 	IbMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               %%%%%r[   c                  R   t          j                    } t          j        d          5  t          t           j                  5  t          j        d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          | t          j                               d S )Nr   )r   i)r'   r4   rO   r)   r*   wrightomegar   rX   s    r1   test_errstate_cpp_basicrb   j   s	   Y[[F	w	'	'	' " "2233 	" 	"N5!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"" " " " " " " " " " " " " " " %%%%%r[   c                  T   t          j                    } t          j        d          5  t          t           j                  5  t          j        dd           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          | t          j                               d S )Nr   rV   r   r   )r'   r4   rO   r)   r*   lambertwr   rX   s    r1   test_errstate_cpp_scipy_specialre   r   s   Y[[F	g	&	&	&  2233 	 	K1	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               %%%%%s5   A<A%A<%A)	)A<,A)	-A<<B B c                  R   t          j                    } t          j        d          5  t          t           j                  5  t          j        d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          | t          j                               d S rU   )r'   r4   rO   r)   r*   gammalnr   rX   s    r1   %test_errstate_cpp_alt_ufunc_machineryrh   z   s   Y[[F	g	&	&	&  2233 	 	JqMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               %%%%%r[   c                  D   t                                           D ]\  } }t          D ]x}t          j                    }t          j        di | |i5  t          t          |f|           d d d            n# 1 swxY w Y   t          |t          j                               yd S r>   )	r6   r5   r7   r'   r4   rO   r2   r   r   )rC   rD   r0   rY   s       r1   test_errstaterj      s     2 8 8 : : . .*' 	. 	.FY[[F22&122 N N5
}fMMMN N N N N N N N N N N N N N N----		.. .s   A22A69A6c                  |   t          j                    } t          j        dd          5  t          j        d           t	          t           j                  5  t          j        d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          | t          j                               d S )Nr   r   )rK   r   r   g      )r'   r4   rO   rg   r)   r*   r^   r   rX   s    r1   test_errstate_all_but_onerl      s   Y[[F	8	4	4	4  

12233 	 	IdOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               %%%%%s5   .BA9-B9A=	=B A=	BBB) rM   r+   numpyr#   numpy.testingr   r   r   r%   r   r)   scipy.specialspecialr'   scipy.special._ufuncsr   r6   r7   r2   r;   markthread_unsaferH   skipifrS   rZ   r_   rb   re   rh   rj   rl   r?   r<   r1   <module>ru      s   



      = = = = = = = = = =  * * * * * *       9 9 9 9 9 9        ", , ,   $ $-EFF	- 	- GF 	-& & && & && & && & && & & . . .& & & & &r<   