§
    fŠtjè  ã                   óæ   — d dl Z d dlZd dlmZmZmZ d dlmZ	 d dl
mZ d„ Zd„ Zd„ Zd„ Ze j                             dej         d fej        ej        fg¦  «        d	„ ¦   «         Zd
„ Zd„ Zd„ Zd„ ZdS )é    N)Úassert_Úassert_equalÚassert_allclose)Úassert_func_equalc                  óâ  — t          t          j        d¦  «        t          dt          j        ¦  «        t          t          j        t          j        ¦  «        t          t          j        d¦  «        t          dt          j        ¦  «        g} | D ]b}t          j        |¦  «        }t          t          j        |j        ¦  «        ¦  «         t          t          j        |j        ¦  «        ¦  «         Œcd S )Nr   é   )	ÚcomplexÚnpÚnanÚscÚwrightomegar   ÚisnanÚrealÚimag©ÚptsÚpÚress      úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/special/tests/test_wrightomega.pyÚtest_wrightomega_nanr   	   s·   € Ý•2”6˜1ÑÔÝ�1•b”fÑÔÝ•2”6�2œ6Ñ"Ô"Ý•2”6˜1ÑÔÝ�1•b”fÑÔð	€Cð
 ð $ð $ˆÝŒn˜QÑÔˆÝ•”˜œÑ"Ô"Ñ#Ô#Ð#Ý•”˜œÑ"Ô"Ñ#Ô#Ð#Ð#ð$ð $ó    c                  óˆ  — t          t          j         t          j        dz  ¦  «        t          t          j         t          j         dz  ¦  «        t          t          j         dt          j        z  dz  ¦  «        t          t          j         dt          j        z  dz  ¦  «        g} t          dd¦  «        t          dd¦  «        t          dd¦  «        t          dd¦  «        g}t	          | |¦  «        D ]M\  }}t          j        |¦  «        }t          |j        |j        ¦  «         t          |j	        |j	        ¦  «         ŒNd S )Né   é   éýÿÿÿg        g       €)
r	   r
   ÚinfÚpiÚzipr   r   r   r   r   )r   Úexpected_resultsr   Úexpectedr   s        r   Útest_wrightomega_inf_branchr!      s  € Ý•B”F�7�BœE !™GÑ$Ô$Ý•B”F�7�RœU˜F 1™HÑ%Ô%Ý•B”F�7˜A�bœe™G A™IÑ&Ô&Ý•B”F�7˜B�rœu™H Q™JÑ'Ô'ð)€Cõ    SÑ)Ô)Ý  TÑ*Ô*Ý  cÑ*Ô*Ý  dÑ+Ô+ð-Ðõ ˜3Ð 0Ñ1Ô1ð .ð .‰ˆˆ8ÝŒn˜QÑÔˆõ
 	�S”X˜xœ}Ñ-Ô-Ð-Ý�S”X˜xœ}Ñ-Ô-Ð-Ð-ð.ð .r   c                  ó$  — t          t          j        d¦  «        t          t          j         d¦  «        t          dt          j        ¦  «        t          dt          j         ¦  «        g} | D ]$}t          t	          j        |¦  «        |¦  «         Œ%d S )Né
   )r	   r
   r   r   r   r   )r   r   s     r   Útest_wrightomega_infr$   (   s�   € Ý•2”6˜2ÑÔÝ•B”F�7˜BÑÔÝ�2•r”vÑÔÝ�2�œ�wÑÔð!€Cð ð +ð +ˆÝ•R”^ AÑ&Ô&¨Ñ*Ô*Ð*Ð*ð+ð +r   c                  ó:  — t          dt          j        ¦  «        t          dt          j         ¦  «        g} | D ]b}t          j        |¦  «        }t          |d¦  «         t          t          j        |j        ¦  «        t          j	        d¦  «        k    ¦  «         Œcd S )Ng      ð¿F)
r	   r
   r   r   r   r   r   Úsignbitr   Úbool_r   s      r   Útest_wrightomega_singularr(   1   s‹   € Ý�4�œÑÔÝ�4�"œ%˜Ñ Ô ð"€Càð 9ð 9ˆÝŒn˜QÑÔˆÝ�S˜$ÑÔÐÝ•”
˜3œ8Ñ$Ô$­¬°©¬Ò7Ñ8Ô8Ð8Ð8ð9ð 9r   z
x, desiredc                 ó:   — t          j        | ¦  «        |k    sJ ‚d S ©N)r   r   )ÚxÚdesireds     r   Ú test_wrightomega_real_infinitiesr-   :   s%   € õ
 Œ>˜!ÑÔ Ò'Ð'Ð'Ð'Ð'Ð'r   c                  ój   — t          j        t          j        t           j        ¦  «        ¦  «        sJ ‚d S r*   )r
   r   r   r   r   © r   r   Útest_wrightomega_real_nanr0   B   s*   € ÝŒ8•B”N¥2¤6Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r   c                  óf  — dt          j        t          ¦  «        j        z  } d}t          j        |t           j         ¦  «        }t          j        |t           j        ¦  «        }d}d}t          t          j        |¦  «        |d| ¬¦  «         t          t          j        |¦  «        |d| ¬¦  «         d S )Né   g@Œµx¯Dg?Œµx¯DgAŒµx¯Dr   ©ÚatolÚrtol©	r
   ÚfinfoÚfloatÚepsÚ	nextafterr   r   r   r   ©Údesired_errorÚ	crossoverÚx_before_crossoverÚx_after_crossoverÚdesired_before_crossoverÚdesired_after_crossovers         r   Ú&test_wrightomega_real_series_crossoverrB   F   sº   € Ø�œ¥™œÔ+Ñ+€MØ€IÝœ iµ"´&°Ñ9Ô9ÐÝœ Yµ´Ñ7Ô7Ðà7ÐØ7ÐÝÝ
ŒÐ)Ñ*Ô*Ø ØØð	ñ ô ð õ Ý
ŒÐ(Ñ)Ô)ØØØð	ñ ô ð ð ð r   c                  óf  — dt          j        t          ¦  «        j        z  } d}t          j        |t           j        ¦  «        }t          j        |t           j         ¦  «        }d}d}t          t          j        |¦  «        |d| ¬¦  «         t          t          j        |¦  «        |d| ¬¦  «         d S )Nr2   iÎÿÿÿgy~T}%m;g~T}%m;r   r3   r6   r;   s         r   Ú,test_wrightomega_exp_approximation_crossoverrD   \   sº   € Ø�œ¥™œÔ+Ñ+€MØ€IÝœ iµ´Ñ8Ô8ÐÝœ Yµ´°Ñ8Ô8Ðà8ÐØ7ÐÝÝ
ŒÐ)Ñ*Ô*Ø ØØð	ñ ô ð õ Ý
ŒÐ(Ñ)Ô)ØØØð	ñ ô ð ð ð r   c                  ó¦   — t          j        ddd¦  «        } t          j        | dz   ¦  «        j        }t          t          j        || dd¬¦  «         d S )Niþÿÿiô  ié  y                r   g›+¡†›„=r3   )r
   Úlinspacer   r   r   r   )r+   Úresultss     r   Ú$test_wrightomega_real_versus_complexrH   r   sL   € Ý
Œ�D˜#˜tÑ$Ô$€AÝŒn˜Q ™VÑ$Ô$Ô)€GÝ•b”n g¨q°q¸uÐEÑEÔEÐEÐEÐEr   )ÚpytestÚnumpyr
   Únumpy.testingr   r   r   Úscipy.specialÚspecialr   Úscipy.special._testutilsr   r   r!   r$   r(   ÚmarkÚparametrizer   r-   r0   rB   rD   rH   r/   r   r   ú<module>rQ      s1  ðØ €€€Ø Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @à Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð	$ð 	$ð 	$ð.ð .ð .ð&+ð +ð +ð9ð 9ð 9ð „×Ò˜Ø„f€Wˆa€LØ„VˆRŒVÐð(ñ ô ð(ð (ñ	ô ð(ð,ð ,ð ,ðð ð ð,ð ð ð,Fð Fð Fð Fð Fr   