Ë
    ÏÍ: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mZ d dlmZ d dlmZ d dlmZ d dlmZmZmZ egZej2                  j4                  Z ee«       G d	„ d
«      «       Zy)é    N)Ú	AxisError)Úmake_xp_test_caseÚeager_warnsÚis_numpy)Úxp_assert_equalÚxp_assert_close)Úarray_api_extra)Ústats©Ú	variation)Útoo_small_nd_omitÚtoo_small_nd_not_omitÚSmallSampleWarningc                   ó²  — e Zd ZdZd„ Zej                  j                  dddg«      d„ «       Z e	dd¬	«      d
„ «       Z
ej                  j                  ddej                  fd ej                  d«      dz  fg«       e	dd¬«      d„ «       «       Z e	dd¬«      d„ «       Z e	dd¬«      d„ «       Z e	dd¬«      d„ «       Z e	dd¬«      ej                  j                  dd ej&                  d«      j)                  «       fd ej*                  dej                  ¬«      j)                  «       fg«      d„ «       «       Z e	dd¬«      ej                  j                  ddej.                  fdej                  fg«      d „ «       «       Z e	dd¬«      d!„ «       Zd"„ Zd#„ Zej                  j9                  d$«      d%„ «       Zej                  j9                  d&«      ej                  j                  d'd(gd)z  dd*ej.                  d+gg«      d,„ «       «       Zej                  j9                  d-«      ej                  j                  ddg fdej                  gd.z  fd/ej                  fg«      d0„ «       «       Zej                  j9                  d$«      d1„ «       Z  e	dd2¬	«      d3„ «       Z!ej                  j                  d4ddg«      d5„ «       Z" e	dd2¬	«      ej                  j                  d6d ej                  d7«       ej                  d8«      ej.                  dej                  d(ej                  gfdd9 ej                  d:«      ej.                  dej                  dej                  gfd* ej                  d9«       ej                  d;«      ej.                  ej                  ej                  dej                  gfg«      d<„ «       «       Z# e	dd¬«      d=„ «       Z$y/)>ÚTestVariationz.
    Test class for scipy.stats.variation
    c                 óž   — |j                  d«      }t        t        |d¬«      |j                  t	        j
                  d«      dz  «      «       y )Nç      "@é   ©Úddofg      @é   )Úaranger   r   ÚasarrayÚmathÚsqrt©ÚselfÚxpÚxs      úu/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/stats/tests/test_variation.pyÚ	test_ddofzTestVariation.test_ddof   s6   € Ø�I‰I�c‹NˆÜœ	 !¨!Ô,¨b¯j©j¼¿¹À4»ÈÑ9JÓ.KÕLó    Úsgnr   éÿÿÿÿc                 ó¶   — |j                  g d¢«      }t        ||z  «      }|j                  |t        j                  d«      z  dz  «      }t	        ||d¬«       y )N©ç      ð?ç       @ç      @ç      @g      @é   é   g»½×Ùß|Û=)Úrtol)r   r   r   r   r   )r   r#   r   r   ÚvÚexpecteds         r    Ú	test_signzTestVariation.test_sign   sK   € à�J‰JÒ+Ó,ˆÜ�c˜!‘eÓˆØ—:‘:˜c¤$§)¡)¨A£,Ñ.¨qÑ0Ó1ˆÜ˜˜8¨%Ö0r"   Tztest plain python scalar input)Únp_onlyÚreasonc                 ó$   — t        d«      dk(  sJ ‚y )Nr*   ç        r   ©r   r   s     r    Útest_scalarzTestVariation.test_scalar%   s   € ô ˜‹~ Ò$Ð$Ñ$r"   znan_policy, expectedÚ	propagateÚomitg«ªªªªª@r   z"lazy -> limited nan_policy support)Ú
eager_onlyr2   c                 ó�   — |j                  d«      }|j                  |d<   t        t        ||¬«      |j	                  |«      «       y )Nç      $@é	   ©Ú
nan_policy)r   Únanr   r   r   )r   r>   r/   r   r   s        r    Útest_variation_nanz TestVariation.test_variation_nan*   s8   € ð
 �I‰I�c‹NˆØ�v‰vˆˆ!‰Üœ	 !°
Ô;¸R¿Z¹ZÈÓ=QÕRr"   c                 ó¼   — |j                  dd|j                  dg«      }t        j                  t        d¬«      5  t        |d¬«       d d d «       y # 1 sw Y   y xY w)Nr'   r(   r)   zinput contains nan©ÚmatchÚraiser=   )r   r?   ÚpytestÚraisesÚ
ValueErrorr   r   s      r    Útest_nan_policy_raisez#TestVariation.test_nan_policy_raise3   sK   € à�J‰J˜˜S "§&¡&¨#Ð.Ó/ˆÜ�]‰]œ:Ð-AÔBñ 	-Ü�a GÕ,÷	-÷ 	-ñ 	-ús   »AÁAz
dask.arrayzneeds `_axis_nan_policy`)r2   c                 ó    — t        j                  t        d¬«      5  t        |j	                  g d¢«      d¬«       d d d «       y # 1 sw Y   y xY w)Nzmust be one ofrB   ©r   r+   r,   Úfoobarr=   )rE   rF   rG   r   r   r5   s     r    Útest_bad_nan_policyz!TestVariation.test_bad_nan_policy9   s=   € ä�]‰]œ:Ð-=Ô>ñ 	BÜ�b—j‘j¢Ó+¸ÕA÷	B÷ 	Bñ 	Bús   œAÁAc                 óª   — |j                  |j                  d«      d«      }t        |dd¬«      }d|j                  dgdgg«      z  }t	        ||«       y )	Né
   )r+   é   r   T©ÚaxisÚkeepdimsgÍ;fž ö?r(   g      @)Úreshaper   r   r   r   )r   r   r   Úyr/   s        r    Útest_keepdimszTestVariation.test_keepdims>   sM   € à�J‰J�r—y‘y “} fÓ-ˆÜ�a˜a¨$Ô/ˆØ˜BŸJ™J¨¨¨r¨d |Ó4Ñ4ˆÜ˜˜8Õ$r"   zaxis, expectedr   ©r   r   )rO   r   ©Ú
fill_valuec                 ó  — |j                  d«      }|dk(  r7t        j                  t        t        ¬«      5  t        ||d¬«      }d d d «       nt        ||d¬«      }t        |j                  |«      «       y # 1 sw Y   Œ%xY w)N)rO   r   r   rB   TrP   )ÚzerosrE   Úwarnsr   r   r   r   r   ©r   rQ   r/   r   r   rT   s         r    Útest_keepdims_size0z!TestVariation.test_keepdims_size0E   st   € ð
 �H‰H�VÓˆØ�1Š9Ü—‘Ô0Ô8MÔNñ ;Ü˜a d°TÔ:�÷;ð ;ô ˜! $°Ô6ˆAÜ˜˜2Ÿ:™: hÓ/Õ0÷	;ð ;ús   ¶A8Á8Bzincr, expected_fillc                 óª   — |j                  g d¢g d¢g«      }t        |d|j                  d   |z   d¬«      }t        ||j	                  d|¬«      «       y )N)r   r   r+   r+   )r   r+   r,   r,   r   T)rQ   r   rR   )r+   r   rW   )r   r   Úshaper   Úfull)r   ÚincrÚexpected_fillr   r   rT   s         r    Ú'test_keepdims_and_ddof_eq_len_plus_incrz5TestVariation.test_keepdims_and_ddof_eq_len_plus_incrR   sK   € ð �J‰Jš¢lÐ3Ó4ˆÜ�a˜a a§g¡g¨a¡j°4Ñ&7À$ÔGˆÜ˜˜2Ÿ7™7 6°m˜7ÓDÕEr"   c                 ó>  — |j                  |j                  d«      d«      }t        j                  |«      d   j	                  |j
                  «      }t        |dd¬«      }t        ||j                  t        j                  d«      dz  |j
                  g«      «       y )	Ng       @)r+   r$   rV   r   r7   ©rQ   r>   ç      ô?ç      ø?)rS   r   ÚxpxÚatÚsetr?   r   r   r   r   r   )r   r   Úar.   s       r    Útest_propagate_nanz TestVariation.test_propagate_nanY   ss   € ð �J‰J�r—y‘y “} gÓ.ˆÜ�F‰F�1‹I�d‰O×Ñ §¡Ó'ˆÜ�a˜a¨KÔ8ˆÜ˜˜2Ÿ:™:¤t§y¡y°£~°cÑ'9¸2¿6¹6Ð&BÓCÕDr"   c                 óª   — t        |j                  ddgddgg«      d ¬«      }t        ||j                  t        j                  d«      dz  «      «       y )Nr   r   r+   r,   ©rQ   rf   rg   )r   r   r   r   r   )r   r   rT   s      r    Útest_axis_nonezTestVariation.test_axis_noneb   sF   € ô �b—j‘j 1 a &¨1¨a¨&Ð!1Ó2¸Ô>ˆÜ˜˜2Ÿ:™:¤d§i¡i°£n°SÑ&8Ó9Õ:r"   c                 ó´   — |j                  g d¢g d¢g«      }t        j                  t        t        f«      5  t        |d¬«       d d d «       y # 1 sw Y   y xY w)NrJ   )r   rO   é   rN   rn   )r   rE   rF   r   Ú
IndexErrorr   r   s      r    Útest_bad_axiszTestVariation.test_bad_axish   sE   € à�J‰Jš	¢9Ð-Ó.ˆÜ�]‰]œI¤zÐ2Ó3ñ 	"Ü�a˜bÕ!÷	"÷ 	"ñ 	"ús   ·AÁAz5ignore:divide by zero encountered:RuntimeWarning:daskc                 ó2  — |j                  g d¢«      }t        |«      }t        ||j                  |j                  «      «       |j	                  |d|z  g«      }t        |d¬«      }t        ||j                  |j                  |j                  g«      «       y )N)r;   ç      Àr'   ç      Àrv   g      $Àr   rn   )r   r   r   ÚinfÚstack)r   r   r   rT   Úx2Úy2s         r    Útest_mean_zerozTestVariation.test_mean_zeron   su   € ð �J‰JÒ/Ó0ˆÜ�a‹LˆÜ˜˜2Ÿ:™: b§f¡fÓ-Ô.à�X‰X�q˜$˜q™&�kÓ"ˆÜ�r Ô"ˆÜ˜˜BŸJ™J¨¯©°·±Ð'7Ó8Õ9r"   z4ignore:invalid value encountered:RuntimeWarning:daskr   r4   rO   r+   r<   c                 óž   — |j                  |«      }t        |«      }t        ||j                  |j                  |j                  ¬«      «       y )N)Údtype)r   r   r   r?   r}   )r   r   r   rT   s       r    Útest_return_nanzTestVariation.test_return_nanz   s9   € ð �J‰J�q‹Mˆä�a‹LˆÜ˜˜2Ÿ:™: b§f¡f°A·G±G˜:Ó<Õ=r"   z4ignore:Invalid value encountered:RuntimeWarning:daskr,   Nc                 óè   — |j                  d«      }|dk7  r(t        t        |¬«      5  t        ||¬«      }d d d «       nt        ||¬«      }t	        |j                  |«      «       y # 1 sw Y   Œ%xY w)N)r,   r   r   )r   rn   )Úemptyr   r   r   r   r   r\   s         r    Útest_2d_size_zero_with_axisz)TestVariation.test_2d_size_zero_with_axis‚   sm   € ð �H‰H�VÓˆØ�1Š9ô Ô/°BÔ7ñ ,Ü˜a dÔ+�÷,ð ,ô ˜! $Ô'ˆAÜ˜˜2Ÿ:™: hÓ/Õ0÷	,ð ,ús   ¨A(Á(A1c                 óŒ   — |j                  ddg«      }t        t        |d¬«      |j                  |j                   «      «       y )Nru   g      Àr+   r   )r   r   r   rw   )r   r   Úx1s      r    Útest_neg_infzTestVariation.test_neg_inf�   s6   € ð �Z‰Z˜˜c˜
Ó#ˆÜœ	 "¨1Ô-¨r¯z©z¸2¿6¹6¸'Ó/BÕCr"   z(only NumPy supports ND nan_policy="omit"c                 ó
  — |j                  |j                  dd|j                  gdd|j                  |j                  gg«      }t        t        |ddd¬«      |j                  |j                   |j                   g«      «       y )Nr   iöÿÿÿiìÿÿÿéýÿÿÿr+   r8   ©rQ   r   r>   )r   r?   r   r   rw   )r   r   ry   s      r    Útest_neg_inf_nanzTestVariation.test_neg_inf_nan—   sn   € à�Z‰Z˜"Ÿ&™& ! S¨"¯&©&Ð1Ø˜r 2§6¡6¨2¯6©6Ð2ð4ó 5ˆäœ	 "¨1°1ÀÔHØŸ
™
 R§V¡V G¨b¯f©f¨WÐ#5Ó6õ	8r"   r>   c                 ó  — t        |«      st        j                  d«       |j                  dd|j                  dgdd|j                  dgdd|j                  dgg«      }|dk(  r7t        j
                  t        t        ¬	«      5  t        |d|¬
«      }d d d «       nt        |d|¬
«      }t        |j                  |j                  |j                  |j                  t        j                  d«      dz  g«      «       y # 1 sw Y   Œ]xY w)Nz(Only NumPy supports ND nan_policy='omit'r   rN   r   éûÿÿÿr+   r,   r8   rB   re   gUUUUUUå?)r   rE   Úskipr   r?   r[   r   r   r   r   rw   r   r   )r   r>   r   r   rT   s        r    Útest_combined_edge_casesz&TestVariation.test_combined_edge_casesž   sä   € ä˜Œ|Ü�K‰KÐBÔCØ�J‰J˜˜B §¡¨Ð*Ø˜B §¡¨Ð*Ø˜B §¡¨Ð*ð,ó -ˆð ˜ÒÜ—‘Ô0Ô8IÔJñ @Ü˜a a°JÔ?�÷@ð @ô ˜! !°
Ô;ˆAÜ˜˜2Ÿ:™: r§v¡v¨r¯v©v°r·v±v¼t¿y¹yÈ»~ÈaÑ?OÐ&PÓQÕR÷	@ð @ús   ÂC=Ã=Dzddof, expectedgUUUUUUÅ?g      ä?ç      à?g«ªªªªªê?rf   c           
      ó  — |j                   }|j                  dd|dgg d¢|dd|g|dd|g||||gg d¢g d	¢g«      }t        j                  t        t
        ¬
«      5  t        |d|d¬«      }d d d «       t        |«       y # 1 sw Y   ŒxY w)Nr'   r(   r)   )r4   r*   r)   r'   g      à¿r�   r   )r)   r)   r)   r)   )r4   r4   r4   r4   rB   r   r8   r‡   )r?   r   rE   r[   r   r   r   r   )r   r   r/   r   r?   r   r.   s          r    Útest_more_nan_policy_omit_testsz-TestVariation.test_more_nan_policy_omit_tests¬   s�   € ð �f‰fˆØ�J‰J˜˜c 3¨Ð,Ú,Ø˜c 3¨Ð,Ø˜c 3¨Ð,Ø˜c 3¨Ð,Ú,Ú,ð.ó /ˆô �\‰\Ô,Ô4EÔFñ 	CÜ˜! !¨$¸6ÔBˆA÷	Cä˜˜8Õ$÷	Cð 	Cús   ÁA?Á?Bc           	      ó(  — |j                  g d¢«      }|j                  ddd|j                  dd|j                  g«      }t        |d¬«      }t        |dd¬	«      }t        ||j                  t	        j
                  d
«      dz  «      «       ||k(  sJ ‚y )Nr&   r   r+   r,   r   rO   r   r8   )r>   r   g      @)r   r?   r   r   r   r   )r   r   rk   Únan_arT   Únan_ys         r    Útest_variation_ddofz!TestVariation.test_variation_ddofÄ   s~   € ð �J‰JÒ+Ó,ˆØ—
‘
˜A˜q ! R§V¡V¨Q°°2·6±6Ð:Ó;ˆÜ�a˜aÔ ˆÜ˜%¨F¸Ô;ˆÜ˜˜2Ÿ:™:¤d§i¡i°£n°QÑ&6Ó7Ô8Ø�EŠzÐ‰zr"   )%Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   rE   ÚmarkÚparametrizer0   Úskip_xp_backendsr6   Únpr?   r   r   r@   rH   rL   rU   r€   Útolistr`   r]   rw   rc   rl   ro   rs   Úfilterwarningsr{   r~   r�   r„   rˆ   rŒ   r�   r“   © r"   r    r   r      sN  „ ñòMð ‡[�[×Ñ˜U Q¨ GÓ,ñ1ó -ð1ñ ˜dÐ+KÔLñ%ó Mð%ð ‡[�[×ÑÐ3Ø*¨B¯F©FÐ3Ø% y t§y¡y°£°qÑ'8Ð9ð;ó<ñ  Ð.RÔSñSó Tó<ðSñ
  Ð.RÔSñ-ó Tð-ñ
 �lÐ+EÔFñBó GðBñ �lÐ+EÔFñ%ó Gð%ñ �lÐ+EÔFØ‡[�[×ÑÐ-Ø  ( "§(¡(¨6Ó"2×"9Ñ"9Ó";Ð<Ø  ' "§'¡'¨&¸R¿V¹VÔ"D×"KÑ"KÓ"MÐNðPóQñ1óQó Gð1ñ �lÐ+EÔFØ‡[�[×ÑÐ2°a¸¿¹°[À1ÀbÇfÁfÀ+Ð4NÓOñFó Pó GðFñ
 �lÐ+EÔFñEó GðEò;ò"ð ‡[�[×ÑÐ WÓXñ	:ó Yð	:ð ‡[�[×ÑÐ VÓWØ‡[�[×Ñ˜S B 4¨¡6¨A¨q°"·&±&¸!Ð+<Ð"=Ó>ñ>ó ?ó Xð>ð ‡[�[×ÑÐ VÓWØ‡[�[×ÑÐ-Ø  "˜g¨¨B¯F©F¨8°A©: ¸¸r¿v¹v¸ÐGóIñ	1óIó Xð	1ð ‡[�[×ÑÐ WÓXñDó YðDñ ˜dÐ+UÔVñ8ó Wð8ð ‡[�[×Ñ˜\¨K¸Ð+@ÓAñSó BðSñ ˜dÐ+UÔVØ‡[�[×ÑØØ
ˆgˆb�g‰g�c‹l˜G˜BŸG™G C›L¨"¯&©&°!°R·V±V¸SÀ"Ç&Á&ÐIÐ	JØ
ˆc�7�2—7‘7˜3“< §¡¨¨B¯F©F°A°r·v±vÐ>Ð	?Ø
ˆgˆb�g‰g�c‹l˜G˜BŸG™G C›L¨"¯&©&°"·&±&¸"¿&¹&À!ÀRÇVÁVÐLÐ	Mð	Oóñ%óó Wð%ñ"  Ð.RÔSñó Tñr"   r   )r   Únumpyr›   rE   Úscipy._lib._utilr   Úscipy._lib._array_apir   r   r   Úscipy._lib._array_api_no_0dr   r   Úscipy._externalr	   rh   Úscipyr
   Úscipy.statsr   Úscipy.stats._axis_nan_policyr   r   r   Úlazy_xp_modulesr˜   rš   r   rž   r"   r    ú<module>r¨      sg   ðÛ ã Û å &ß JÑ Jß HÝ 2å Ý !÷>ñ >ð �'€Ø—;‘;×/Ñ/Ð ñ �9Ó÷xð xó ñxr"   