§
    fŠtj5  ã                   ó0  — d dl Z d dlZd dlZd dlmZ d dlmZmZm	Z	 d dl
mZ ej                             dd¬¦  «        ej                             dd	¬¦  «        ej                             d
d¬¦  «         G d„ d¦  «        ¦   «         ¦   «         ¦   «         ZdS )é    N)Úarray_namespace)Úxp_assert_closeÚxp_assert_lessÚxp_assert_equal)Ú_continued_fractionÚarray_api_strictzNo fancy indexing assignment©Úreasonz	jax.numpyzDon't support mutationz
dask.arrayzdask has issues with the shapesc                   ó  — e Zd Zej                             d¦  «        Ze                     ddd¬¦  «        Zdd„Z	dd„Z
d„ Zd	„ Zd
„ Zej                             dg d¢¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zej                             dd¬¦  «        ej                             dddg¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestContinuedFractionl   ºQ º[† é   é
   )Úsizeç      ø?c                 ó®   — |dk    rd|z  }n|dk    r|}n|dz   }t          j        |¦  «        r%t           j        dk     rt          j        ||¦  «        }|S )Nr   r   é   ú2.0©ÚnpÚisscalarÚ__version__Ú	full_like)ÚselfÚnÚxÚys       úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/stats/tests/test_continued_fraction.pyÚa1zTestContinuedFraction.a1   sc   € Ø�Š6ˆ6Ø�!‘ˆAˆAØ�!ŠVˆVØˆAˆAà�A‘�ˆAÝŒ;�q‰>Œ>ð 	#�bœn¨uÒ4Ð4Ý”˜Q Ñ"Ô"ˆAØˆó    c                 ó°   — |dk    rd|z  }n||z  }|d|z  dz
  z  }t          j        |¦  «        r%t           j        dk     rt          j        ||¦  «        }|S )Nr   r   r   r   r   )r   r   r   r   Úones        r   Úb1zTestContinuedFraction.b1    sb   € Ø�Š6ˆ6Ø�!‘ˆAˆAà�A‘#ˆCØ�q˜‘s˜Q‘w‘ˆAÝŒ;�q‰>Œ>ð 	#�bœn¨uÒ4Ð4Ý”˜Q Ñ"Ô"ˆAØˆr   c                 ó0  — t          |¦  «        }|dk    r<|                     ||                     t          j        |j        ¬¦  «         ¦  «        }nD|dk    r|                     |¦  «        }n(d|                     |¦  «        z  t          j        dz  z   }|S )Nr   ©Údtyper   r   ù              ð?)r   r   ÚasarrayÚmathÚinfr%   ÚlogÚpi)r   r   r   Úxpr   s        r   Úlog_a1zTestContinuedFraction.log_a1*   s�   € Ý˜QÑÔˆØ�Š6ˆ6Ø—’˜Q §¢­D¬H¸A¼G Ñ!DÔ!DÐ DÑEÔEˆAˆAØ�!ŠVˆVØ—’�q‘	”	ˆAˆAà�B—F’F˜1‘I”I‘¥¤¨"¡Ñ,ˆAØˆr   c                 óì   — t          |¦  «        }|dk    r<|                     ||                     t          j        |j        ¬¦  «         ¦  «        }n"||z
  }|t          j        d|z  dz
  ¦  «        z   }|S )Nr   r$   r   r   )r   r   r'   r(   r)   r%   r*   )r   r   r   r,   r   r!   s         r   Úlog_b1zTestContinuedFraction.log_b14   sn   € Ý˜QÑÔˆØ�Š6ˆ6Ø—’˜Q §¢­D¬H¸A¼G Ñ!DÔ!DÐ DÑEÔEˆAˆAà�a‘%ˆCØ•d”h˜q 1™u q™yÑ)Ô)Ñ)ˆAØˆr   c                 óz  — | j         }| j        }d}t          j        t          |¬¦  «        5  t          d|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ||ddi¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          ||dt          j        i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          ||ddid	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          ||ddi¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          ||dt          j        i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          ||dt          j        id	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          | 
                    d¦  «        d	d¬¦  «        }t          ||fdddii|¤Ž t          ||fdddii|¤Ž d}t          j        t          |¬¦  «        5  t          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz`a` and `b` must be callable.)Úmatchr   z=`eps` and `tiny` must be \(or represent the logarithm of\)...Úepsiöÿÿÿ)Ú
tolerancesy      ð?      ð?T)r3   r*   Útinyr   y      ø?        )Úargsr*   Úmaxiterr3   z)`maxiter` must be a non-negative integer.éÿÿÿÿ©r6   z`log` must be boolean.r   )r*   )r   r"   ÚpytestÚraisesÚ
ValueErrorr   r   Únanr)   Údictr'   )r   r,   r   r"   ÚmessageÚkwargss         r   Útest_input_validationz+TestContinuedFraction.test_input_validation=   s  € ØŒWˆØŒWˆà1ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	'ð 	'Ý  2Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'åŒ]�:¨WÐ5Ñ5Ô5ð 	'ð 	'Ý  AÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð SˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Að 	AÝ  B°E¸3°<Ð@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	AåŒ]�:¨WÐ5Ñ5Ô5ð 	Dð 	DÝ  B°E½2¼6°?ÐCÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	DåŒ]�:¨WÐ5Ñ5Ô5ð 	Lð 	LÝ  B°E¸4°=ÀdÐKÑKÔKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	LåŒ]�:¨WÐ5Ñ5Ô5ð 	@ð 	@Ý  B°F¸A°;Ð?Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@åŒ]�:¨WÐ5Ñ5Ô5ð 	Eð 	EÝ  B°F½B¼FÐ3CÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	EåŒ]�:¨WÐ5Ñ5Ô5ð 	Oð 	OÝ  B°F½B¼FÐ3CÈÐNÑNÔNÐNð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oõ ˜2Ÿ:š: fÑ-Ô-°4ÀÐCÑCÔCˆÝ˜B ÐFÐF°°s¨|ÐF¸vÐFÐFÐFÝ˜B ÐGÐG°¸¨}ÐGÀÐGÐGÐGà=ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	4ð 	4Ý  B°Ð3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð +ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	/ð 	/Ý  B¨AÐ.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s³   ¬A	Á	AÁAÁ/BÂBÂBÂ4CÃCÃCÃ;D&Ä&D*Ä-D*ÅE.Å.E2Å5E2ÆF5Æ5F9Æ<F9ÇHÈH
ÈH
È, IÉIÉIË	K(Ë(K,Ë/K,ÌL0Ì0L4Ì7L4r%   )Úfloat32Úfloat64Ú	complex64Ú
complex128Úshape)© )r   )é   )rG   r   c                 ó$  — t          t          |¦  «        }t          ||¦  «        }t          j                             d¦  «        }|                     |¦  «                             |¦  «        }|                     d¦  «        r.||                     |¦  «                             |¦  «        dz  z   n|}|                     ||¬¦  «        }t          | j        | j	        |f¬¦  «        }| 
                    |¦  «        }	t          |j        |	¦  «         d S )Nì    8eÈE Úcr&   r$   ©r5   )Úgetattrr   ÚrandomÚdefault_rngÚastypeÚ
startswithr'   r   r   r"   Útanr   Úf)
r   rE   r%   r,   Únp_dtypeÚxp_dtypeÚrngr   ÚresÚrefs
             r   Ú
test_basicz TestContinuedFraction.test_basica   sï   € õ �2˜uÑ%Ô%ˆÝ˜2˜uÑ%Ô%ˆÝŒi×#Ò#Ð$4Ñ5Ô5ˆà�JŠJ�uÑÔ×$Ò$ XÑ.Ô.ˆØ9>×9IÒ9IÈ#Ñ9NÔ9NÐUˆA�—
’
˜5Ñ!Ô!×(Ò(¨Ñ2Ô2°2Ñ5Ñ5Ð5ÐTUˆØ�JŠJ�q ˆJÑ)Ô)ˆå! $¤'¨4¬7¸!¸Ð>Ñ>Ô>ˆØ�fŠf�Q‰iŒiˆÝ˜œ˜sÑ#Ô#Ð#Ð#Ð#r   Útorchzpytorch/pytorch#136063r	   rA   rB   c                 ó  — t           j        dk     r|dk    rt          j        d¦  «         t	          t           |¦  «        }t           j                             d¦  «        }|                     |¦  «                             |¦  «        }|                     |¦  «        }t          | j
        | j        |dz   fd¬¦  «        }|                     |¦  «        }t          |                     |                     |j        ¦  «        ¦  «        |¦  «         d S )NÚ2rA   z*Scalar dtypes only respected after NEP 50.rI   y                T)r5   r*   )r   r   r9   ÚskiprL   rM   rN   rO   r'   r   r-   r/   rQ   r   ÚexpÚrealrR   )	r   rE   r%   r,   rS   rU   r   rV   rW   s	            r   Útest_logzTestContinuedFraction.test_logp   sÝ   € õ ŒN˜SÒ Ð  u°	Ò'9Ð'9ÝŒKÐDÑEÔEÐEÝ�2˜uÑ%Ô%ˆÝŒi×#Ò#Ð$4Ñ5Ô5ˆØ�JŠJ�uÑÔ×$Ò$ XÑ.Ô.ˆØ�JŠJ�q‰MŒMˆå! $¤+¨t¬{À!ÀbÁ&ÀÐPTÐUÑUÔUˆØ�fŠf�Q‰iŒiˆÝ˜Ÿš˜rŸwšw s¤u™~œ~Ñ.Ô.°Ñ4Ô4Ð4Ð4Ð4r   c                 ó  — t           j                             d¦  «        }|                     |                     ¦   «         |j        ¬¦  «        }|                     |¦  «        }t          | j        | j        |fd¬¦  «        }|j	        dk    sJ ‚t          | j        | j        |fd¬¦  «        }|j	        dk    sJ ‚t          |                     |j        |z
  ¦  «        |                     |j        |z
  ¦  «        ¦  «         d S )NrI   r$   rG   ©r5   r6   é   )r   rM   rN   r'   rB   rQ   r   r   r"   Únitr   ÚabsrR   )r   r,   rU   r   rW   Úres1Úres2s          r   Útest_maxiterz"TestContinuedFraction.test_maxiter   sÖ   € ÝŒi×#Ò#Ð$4Ñ5Ô5ˆØ�JŠJ�s—z’z‘|”|¨2¬:ˆJÑ6Ô6ˆØ�fŠf�Q‰iŒiˆå" 4¤7¨D¬G¸1¸$ÈÐJÑJÔJˆØŒx˜1Š}ˆ}ˆ}ˆ}å" 4¤7¨D¬G¸1¸$ÈÐJÑJÔJˆØŒx˜1Š}ˆ}ˆ}ˆ}å�r—v’v˜dœf s™lÑ+Ô+¨R¯VªV°D´F¸S±LÑ-AÔ-AÑBÔBÐBÐBÐBr   c                 ó¢  — |                      d|j        ¬¦  «        }|                     |¦  «        }t          | j        | j        |fddi¬¦  «        }t          | j        | j        |f¬¦  «        }t          |j        |j        ¦  «         t          |                     |j	        |z
  ¦  «        |                     |j	        |z
  ¦  «        ¦  «         d S )Nr   r$   r2   g�íµ ÷Æ°>)r5   r3   rK   )
r'   rB   rQ   r   r   r"   r   rc   rd   rR   )r   r,   r   rW   re   rf   s         r   Útest_epszTestContinuedFraction.test_epsŒ   s·   € Ø�JŠJ�s "¤*ˆJÑ-Ô-ˆØ�fŠf�Q‰iŒiˆÝ" 4¤7¨D¬G¸1¸$Ø/4°d¨mð=ñ =ô =ˆå" 4¤7¨D¬G¸1¸$Ð?Ñ?Ô?ˆÝ�t”x ¤Ñ*Ô*Ð*Ý�r—v’v˜dœf s™lÑ+Ô+¨R¯VªV°D´F¸S±LÑ-AÔ-AÑBÔBÐBÐBÐBr   c                 óæ   ‡‡— ˆfd„Šˆfd„Šd\  ‰_         ‰_         t          ‰‰|                     d¦  «        f¬¦  «        }|j         ‰j         cxk    r‰j         cxk    r|j        dz   k    sn J ‚d S )Nc                 ó.   •— ‰xj         dz  c_         | |z  S ©Nr   ©Únfev)r   r   Úas     €r   ro   z+TestContinuedFraction.test_feval.<locals>.a–   ó   ø€ ØˆFŒF�a‰KˆFŒFØ�q‘5ˆLr   c                 ó.   •— ‰xj         dz  c_         | |z  S rl   rm   )r   r   Úbs     €r   rr   z+TestContinuedFraction.test_feval.<locals>.bš   rp   r   )r   r   ç      ð?rK   r   )rn   r   r'   rc   )r   r,   rV   ro   rr   s      @@r   Ú
test_fevalz TestContinuedFraction.test_feval•   s«   øø€ ð	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð ‰ˆŒ�”å! ! Q¨b¯jªj¸©n¬nÐ->Ð?Ñ?Ô?ˆØŒx˜1œ6Ð:Ð:Ò:Ð: Q¤VÐ:Ð:Ò:Ð:¨s¬w¸©{Ò:Ð:Ð:Ð:Ð:Ð:Ð:Ð:r   c                 óJ  — |                      ddt          j        g|j        ¬¦  «        }t	          | j        | j        |fd¬¦  «        }t          |j        |                      g d¢¦  «        ¦  «         t          |j	        |                      g d¢|j
        ¬¦  «        ¦  «         d S )Nr   r   r$   é   ra   )TFF)r   éþÿÿÿéýÿÿÿ)r'   r   r<   rB   r   r   r"   r   ÚsuccessÚstatusÚint32)r   r,   r   rV   s       r   Útest_statusz!TestContinuedFraction.test_status£   s�   € Ø�JŠJ˜˜2�rœv�¨b¬jˆJÑ9Ô9ˆÝ! $¤'¨4¬7¸!¸ÀrÐJÑJÔJˆÝ˜œ R§Z¢ZÐ0DÐ0DÐ0DÑ%EÔ%EÑFÔFÐFÝ˜œ
 B§J¢J¨{¨{¨{À"Ä( JÑ$KÔ$KÑLÔLÐLÐLÐLr   c                 óî   ‡— |                      d¦  «        Št          ˆfd„ˆfd„d¬¦  «        }t          |j        |                      d¦  «        ¦  «         |j        |j        dz
  cxk    rdk    sn J ‚d S )Nr   c                 ó   •— ‰S ©NrF   ©r   r!   s    €r   ú<lambda>z:TestContinuedFraction.test_special_cases.<locals>.<lambda>«   s   ø€ ¨C€ r   c                 ó   •— ‰S r   rF   r€   s    €r   r�   z:TestContinuedFraction.test_special_cases.<locals>.<lambda>«   s   ø€ ¸3€ r   r   r8   rs   )r'   r   r   rR   rc   rn   )r   r,   rV   r!   s      @r   Útest_special_casesz(TestContinuedFraction.test_special_cases©   s�   ø€ Ø�jŠj˜‰mŒmˆÝ! - - - -°°°°ÈÐJÑJÔJˆÝ˜œ˜rŸzšz¨"™~œ~Ñ.Ô.Ð.ØŒw˜#œ( Q™,Ð+Ð+Ò+Ð+¨!Ò+Ð+Ð+Ð+Ð+Ð+Ð+Ð+r   N)r   )Ú__name__Ú
__module__Ú__qualname__r   rM   rN   rU   ÚuniformÚpr   r"   r-   r/   r@   r9   ÚmarkÚparametrizerX   Úskip_xp_backendsr_   rg   ri   rt   r|   rƒ   rF   r   r   r   r      sÂ  € € € € € ð Œ)×
Ò
Ð 3Ñ
4Ô
4€CØ�Š�A�r ˆÑ#Ô#€Að	ð 	ð 	ð 	ðð ð ð ðð ð ðð ð ð"/ð "/ð "/ðH „[×Ò˜WÐ&WÐ&WÐ&WÑXÔXØ„[×Ò˜WÐ&>Ð&>Ð&>Ñ?Ô?ð$ð $ñ @Ô?ñ YÔXð$ð „[×!Ò! 'Ð2JÐ!ÑKÔKØ„[×Ò˜W y°)Ð&<Ñ=Ô=Ø„[×Ò˜WÐ&>Ð&>Ð&>Ñ?Ô?ð
5ð 
5ñ @Ô?ñ >Ô=ñ LÔKð
5ðCð Cð CðCð Cð Cð;ð ;ð ;ðMð Mð Mð,ð ,ð ,ð ,ð ,r   r   )r(   r9   Únumpyr   Úscipy._lib._array_apir   Úscipy._lib._array_api_no_0dr   r   r   Úscipy.stats._continued_fractionr   r‰   r‹   r   rF   r   r   ú<module>r�      s  ðØ €€€à €€€Ø Ð Ð Ð à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ ?Ð ?Ð ?Ð ?Ð ?Ð ?ð „×ÒÐ0Ð9WÐÑXÔXØ„×Ò˜kÐ2JÐÑKÔKð „×Ò˜lÐ3TÐÑUÔUð\,ð \,ð \,ð \,ð \,ñ \,ô \,ñ VÔUñ	 LÔKñ YÔXð\,ð \,ð \,r   