Ë
    1Ò^j  ã                   ó\  — 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                  j                  dd¬«      ej                  j                  dd	¬«      ej                  j                  d
d¬«      ej                  j                  dd¬«       G d„ d«      «       «       «       «       Zy)é    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 shapesFÚprivatec                   óþ  — e Zd Zej                  j                  d«      Zej                  ddd¬«      Zdd„Z	dd„Z
d„ Zd„ Zd	„ Zej                  j!                  d
g d¢«      ej                  j!                  dg d¢«      d„ «       «       Zej                  j%                  dd¬«      ej                  j!                  d
ddg«      ej                  j!                  dg d¢«      d„ «       «       «       Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestContinuedFractionl   ºQ º[† é   é
   )Úsizec                 ó<   — |dk(  rd|z  }|S |dk(  r|}|S |dz   }|S )Nr   r   é   © )ÚselfÚnÚxÚys       út/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/stats/tests/test_continued_fraction.pyÚa1zTestContinuedFraction.a1   s@   € Ø�Š6Ø�!‘ˆAð
 ˆð	 �!ŠVØˆAð ˆð �A‘�ˆAØˆó    c                 ó>   — |dk(  rd|z  }|S ||z  }|d|z  dz
  z  }|S )Nr   r   r   r   )r   r   r   r   Úones        r   Úb1zTestContinuedFraction.b1   s:   € Ø�Š6Ø�!‘ˆAð ˆð �A‘#ˆCØ�q˜‘s˜Q‘w‘ˆAØˆr   c                 ó"  — t        |«      }|dk(  r>|j                  ||j                  t        j                  |j
                  ¬«       «      }|S |dk(  r|j                  |«      }|S d|j                  |«      z  t        j                  dz  z   }|S )Nr   ©Údtyper   r   ù              ð?)r   Ú	full_likeÚasarrayÚmathÚinfr    ÚlogÚpi)r   r   r   Úxpr   s        r   Úlog_a1zTestContinuedFraction.log_a1'   s„   € Ü˜QÓˆØ�Š6Ø—‘˜Q §¡¬D¯H©H¸A¿G¹G Ó!DÐ DÓEˆAð
 ˆð	 �!ŠVØ—‘�q“	ˆAð ˆð �B—F‘F˜1“I‘¤§¡¨"¡Ñ,ˆAØˆr   c                 óè   — t        |«      }|dk(  r>|j                  ||j                  t        j                  |j
                  ¬«       «      }|S ||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_b11   sm   € Ü˜QÓˆØ�Š6Ø—‘˜Q §¡¬D¯H©H¸A¿G¹G Ó!DÐ DÓEˆAð ˆð �a‘%ˆCØ”d—h‘h˜q 1™u q™yÓ)Ñ)ˆAØˆr   c                 ó  — | j                   }| j                  }d}t        j                  t        |¬«      5  t        d|«       d d d «       t        j                  t        |¬«      5  t        |d«       d d d «       d}t        j                  t        |¬«      5  t        ||ddi¬«       d d d «       t        j                  t        |¬«      5  t        ||dt        j                  i¬«       d d d «       t        j                  t        |¬«      5  t        ||ddid	¬
«       d d d «       t        j                  t        |¬«      5  t        ||ddi¬«       d d d «       t        j                  t        |¬«      5  t        ||dt        j                  i¬«       d d d «       t        j                  t        |¬«      5  t        ||dt        j                  id	¬
«       d d d «       t        |j                  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 «       d}t        j                  t        |¬«      5  t        ||d¬«       d d d «       y # 1 sw Y   �ŒHxY w# 1 sw Y   �Œ%xY w# 1 sw Y   �ŒüxY w# 1 sw Y   �ŒÇxY w# 1 sw Y   �ŒŸxY w# 1 sw Y   �ŒxxY w# 1 sw Y   �ŒCxY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ¦xY w# 1 sw Y   y xY w)Nz`a` and `b` must be callable.)Úmatchr   z=`eps` and `tiny` must be \(or represent the logarithm of\)...Úepsiöÿÿÿ)Ú
tolerancesy      ð?      ð?T)r/   r&   Útinyr   y      ø?        )Úargsr&   Úmaxiterr/   z)`maxiter` must be a non-negative integer.éÿÿÿÿ©r2   z`log` must be boolean.r   )r&   )r   r   ÚpytestÚraisesÚ
ValueErrorr   ÚnpÚnanr%   Údictr#   )r   r(   r   r   ÚmessageÚkwargss         r   Útest_input_validationz+TestContinuedFraction.test_input_validation:   s�  € Ø�W‰WˆØ�W‰Wˆà1ˆÜ�]‰]œ:¨WÔ5ñ 	'Ü  2Ô&÷	'ä�]‰]œ:¨WÔ5ñ 	'Ü  AÔ&÷	'ð SˆÜ�]‰]œ:¨WÔ5ñ 	AÜ  B°E¸3°<Õ@÷	Aä�]‰]œ:¨WÔ5ñ 	DÜ  B°E¼2¿6¹6°?ÕC÷	Dä�]‰]œ:¨WÔ5ñ 	LÜ  B°E¸4°=ÀdÕK÷	Lä�]‰]œ:¨WÔ5ñ 	@Ü  B°F¸A°;Õ?÷	@ä�]‰]œ:¨WÔ5ñ 	EÜ  B°F¼B¿F¹FÐ3CÕD÷	Eä�]‰]œ:¨WÔ5ñ 	OÜ  B°F¼B¿F¹FÐ3CÈÕN÷	Oô ˜2Ÿ:™: fÓ-°4ÀÔCˆÜ˜B ÑF°°s¨|ÐF¸vÒFÜ˜B ÑG°¸¨}ÐGÀÒGà=ˆÜ�]‰]œ:¨WÔ5ñ 	4Ü  B°Õ3÷	4ð +ˆÜ�]‰]œ:¨WÔ5ñ 	/Ü  B¨AÕ.÷	/ð 	/÷9	'ñ 	'ú÷	'ñ 	'ú÷	Añ 	Aú÷	Dñ 	Dú÷	Lñ 	Lú÷	@ñ 	@ú÷	Eñ 	Eú÷	Oñ 	Oú÷	4ð 	4ú÷	/ð 	/úsw   ¶J	Á&JÂJ#ÃJ0ÄJ=ÅK
Å7KÆ9 K$È=K1É1K=Ê	JÊJ Ê#J-Ê0J:Ê=KË
KËK!Ë$K.Ë1K:Ë=Lr    )Úfloat32Úfloat64Ú	complex64Ú
complex128Úshape)r   )r   )é   )rC   r   c                 óæ  — t        t        |«      }t        ||«      }t        j                  j                  d«      }|j                  |«      j	                  |«      }|j                  d«      r&||j                  |«      j	                  |«      dz  z   n|}|j                  ||¬«      }t        | j                  | j                  |f¬«      }|j                  |«      }	t        |j                  |	«       y )Nì    8eÈE Úcr!   r   ©r1   )Úgetattrr8   ÚrandomÚdefault_rngÚastypeÚ
startswithr#   r   r   r   Útanr   Úf)
r   rB   r    r(   Únp_dtypeÚxp_dtypeÚrngr   ÚresÚrefs
             r   Ú
test_basicz TestContinuedFraction.test_basic^   sÂ   € ô œ2˜uÓ%ˆÜ˜2˜uÓ%ˆÜ�i‰i×#Ñ#Ð$4Ó5ˆà�J‰J�uÓ×$Ñ$ XÓ.ˆØ9>×9IÑ9IÈ#Ô9NˆA�—
‘
˜5Ó!×(Ñ(¨Ó2°2Ñ5Ò5ÐTUˆØ�J‰J�q ˆJÓ)ˆä! $§'¡'¨4¯7©7¸!¸Ô>ˆØ�f‰f�Q‹iˆÜ˜Ÿ™˜sÕ#r   Útorchzpytorch/pytorch#136063r	   r>   r?   c                 óœ  — t        t        |«      }t        j                  j                  d«      }|j                  |«      j	                  |«      }|j                  |«      }t        | j                  | j                  |dz   fd¬«      }|j                  |«      }t        |j                  |j                  |j                  «      «      |«       y )NrE   y                T)r1   r&   )rH   r8   rI   rJ   rK   r#   r   r)   r+   rM   r   ÚexpÚrealrN   )	r   rB   r    r(   rO   rQ   r   rR   rS   s	            r   Útest_logzTestContinuedFraction.test_logm   s–   € ô œ2˜uÓ%ˆÜ�i‰i×#Ñ#Ð$4Ó5ˆØ�J‰J�uÓ×$Ñ$ XÓ.ˆØ�J‰J�q‹Mˆä! $§+¡+¨t¯{©{À!ÀbÁ&ÀÐPTÔUˆØ�f‰f�Q‹iˆÜ˜Ÿ™˜rŸw™w s§u¡u›~Ó.°Õ4r   c                 ó  — t         j                  j                  d«      }|j                  |j                  «       |j                  ¬«      }|j                  |«      }t        | j                  | j                  |fd¬«      }|j                  dk(  sJ ‚t        | j                  | j                  |fd¬«      }|j                  dk(  sJ ‚t        |j                  |j                  |z
  «      |j                  |j                  |z
  «      «       y )NrE   r   rC   ©r1   r2   é   )r8   rI   rJ   r#   r?   rM   r   r   r   Únitr   ÚabsrN   )r   r(   rQ   r   rS   Úres1Úres2s          r   Útest_maxiterz"TestContinuedFraction.test_maxiterz   sÀ   € Ü�i‰i×#Ñ#Ð$4Ó5ˆØ�J‰J�s—z‘z“|¨2¯:©:ˆJÓ6ˆØ�f‰f�Q‹iˆä" 4§7¡7¨D¯G©G¸1¸$ÈÔJˆØ�x‰x˜1Š}Ðˆ}ä" 4§7¡7¨D¯G©G¸1¸$ÈÔJˆØ�x‰x˜1Š}Ðˆ}ä�r—v‘v˜dŸf™f s™lÓ+¨R¯V©V°D·F±F¸S±LÓ-AÕBr   c                 óº  — |j                  d|j                  ¬«      }|j                  |«      }t        | j                  | j
                  |fddi¬«      }t        | j                  | j
                  |f¬«      }t        |j                  |j                  «       t        |j                  |j                  |z
  «      |j                  |j                  |z
  «      «       y )Nç      ø?r   r.   g�íµ ÷Æ°>)r1   r/   rG   )
r#   r?   rM   r   r   r   r   r]   r^   rN   )r   r(   r   rS   r_   r`   s         r   Útest_epszTestContinuedFraction.test_eps‡   sœ   € Ø�J‰J�s "§*¡*ˆJÓ-ˆØ�f‰f�Q‹iˆÜ" 4§7¡7¨D¯G©G¸1¸$Ø/4°d¨mô=ˆä" 4§7¡7¨D¯G©G¸1¸$Ô?ˆÜ�t—x‘x §¡Ô*Ü�r—v‘v˜dŸf™f s™lÓ+¨R¯V©V°D·F±F¸S±LÓ-AÕBr   c                 óø   ‡‡— ˆfd„Šˆfd„Šd\  ‰_         ‰_         t        ‰‰|j                  d«      f¬«      }|j                   ‰j                   cxk(  r#‰j                   cxk(  r|j                  dz   k(  sJ ‚ J ‚y )Nc                 ó8   •— ‰xj                   dz  c_         | |z  S ©Nr   ©Únfev)r   r   Úas     €r   rj   z+TestContinuedFraction.test_feval.<locals>.a‘   ó   ø€ Ø�FŠF�a‰K�FØ�q‘5ˆLr   c                 ó8   •— ‰xj                   dz  c_         | |z  S rg   rh   )r   r   Úbs     €r   rm   z+TestContinuedFraction.test_feval.<locals>.b•   rk   r   )r   r   ç      ð?rG   r   )ri   r   r#   r]   )r   r(   rR   rj   rm   s      @@r   Ú
test_fevalz TestContinuedFraction.test_feval�   sg   ù€ ô	ô	ð ‰ˆŒ�”ä! ! Q¨b¯j©j¸«nÐ->Ô?ˆØ�x‰x˜1Ÿ6™6Ô: Q§V¡VÔ:¨s¯w©w¸©{Ò:Ð:Ñ:Ð:Ñ:r   c                 ó\  — |j                  ddt        j                  g|j                  ¬«      }t	        | j
                  | j                  |fd¬«      }t        |j                  |j                  g d¢«      «       t        |j                  |j                  g d¢|j                  ¬«      «       y )Nr   r   r   é   r[   )TFF)r   éþÿÿÿéýÿÿÿ)r#   r8   r9   r?   r   r   r   r   ÚsuccessÚstatusÚint32)r   r(   r   rR   s       r   Útest_statusz!TestContinuedFraction.test_statusž   ss   € Ø�J‰J˜˜2œrŸv™v�¨b¯j©jˆJÓ9ˆÜ! $§'¡'¨4¯7©7¸!¸ÀrÔJˆÜ˜Ÿ™ R§Z¡ZÒ0DÓ%EÔFÜ˜Ÿ
™
 B§J¡Jª{À"Ç(Á( JÓ$KÕLr   c                 óè   ‡— |j                  d«      Št        ˆfd„ˆfd„d¬«      }t        |j                  |j                  d«      «       |j                  |j
                  dz
  cxk(  rdk(  sJ ‚ J ‚y )Nr   c                 ó   •— ‰S ©Nr   ©r   r   s    €r   ú<lambda>z:TestContinuedFraction.test_special_cases.<locals>.<lambda>¦   s   ø€ ¨C€ r   c                 ó   •— ‰S rz   r   r{   s    €r   r|   z:TestContinuedFraction.test_special_cases.<locals>.<lambda>¦   s   ø€ ¸3€ r   r   r4   rn   )r#   r   r   rN   r]   ri   )r   r(   rR   r   s      @r   Útest_special_casesz(TestContinuedFraction.test_special_cases¤   sY   ø€ Ø�j‰j˜‹mˆÜ!£-³ÈÔJˆÜ˜Ÿ™˜rŸz™z¨"›~Ô.Ø�w‰w˜#Ÿ(™( Q™,Ô+¨!Ò+Ð+Ñ+Ð+Ñ+r   N)rc   )Ú__name__Ú
__module__Ú__qualname__r8   rI   rJ   rQ   ÚuniformÚpr   r   r)   r+   r=   r5   ÚmarkÚparametrizerT   Úskip_xp_backendsrY   ra   rd   ro   rw   r~   r   r   r   r   r      s  „ ð �)‰)×
Ñ
Ð 3Ó
4€CØ�‰�A�r ˆÓ#€Aóóòòò"/ðH ‡[�[×Ñ˜WÒ&WÓXØ‡[�[×Ñ˜WÒ&>Ó?ñ$ó @ó Yð$ð ‡[�[×!Ñ! 'Ð2JÐ!ÓKØ‡[�[×Ñ˜W y°)Ð&<Ó=Ø‡[�[×Ñ˜WÒ&>Ó?ñ5ó @ó >ó Lð5òCòCò;òMó,r   r   )r$   r5   Únumpyr8   Úscipy._lib._array_apir   Úscipy._lib._array_api_no_0dr   r   r   Úscipy.stats._continued_fractionr   r„   r†   Úuses_xp_capabilitiesr   r   r   r   ú<module>rŒ      s§   ðÛ ã Û å 1ß XÑ XÝ ?ð ‡�×ÑÐ0Ð9WÐÓXØ‡�×Ñ˜kÐ2JÐÓKð ‡�×Ñ˜lÐ3TÐÓUØ‡�×!Ñ! %°	Ð!Ó:÷V,ð V,ó ;ó Vó	 Ló YñV,r   