Ë
    âQ(hò#  ã                   óö   — d dl Z d dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ d dlmZmZmZ eej*                  j-                  d	«      gZej*                  j0                  Z G d
„ d«      Zy)é    N)Úsuppress_warnings)Ú	variation)Ú	AxisError)Úarray_api_compatible)Úis_numpy)Úxp_assert_equalÚxp_assert_close)Útoo_small_nd_omitÚtoo_small_nd_not_omitÚSmallSampleWarningÚskip_xp_backendsc                   ó¤  — e Zd ZdZd„ Zej                  j                  dddg«      d„ «       Z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«      fd e
j&                  de
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 edd¬«      d„ «       Zd „ Zd!„ Zej                  j                  d"d#gd$z  dd%e
j*                  d&gg«      d'„ «       Zej                  j                  ddg fde
j                  gd(z  fd)e
j                  fg«      d*„ «       Zd+„ Z edd¬«      d,„ «       Z edd¬«      ej                  j                  d-d	d
g«      d.„ «       «       Z edd¬«      ej                  j                  d/d e
j                  d0«       e
j                  d1«      e
j*                  de
j                  d#e
j                  gfdd2 e
j                  d3«      e
j*                  de
j                  de
j                  gfd% e
j                  d2«       e
j                  d4«      e
j*                  e
j                  e
j                  de
j                  gfg«      d5„ «       «       Z  edd¬«      d6„ «       Z!y))7Ú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      ú^/var/www/skyplay_api_hub/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    c                 ó.   — t        t        d«      d«       y )Nr(   ç        )r   r   ©r   r   s     r   Útest_scalarzTestVariation.test_scalar#   s   € äœ	 #›¨Õ,r    znan_policy, expectedÚ	propagateÚomitg«ªªªªª@r   Tz(`nan_policy` only supports NumPy backend)Únp_onlyÚreasonc                 ór   — |j                  d«      }|j                  |d<   t        t        ||¬«      |«       y )Nç      $@é	   ©Ú
nan_policy)r   Únanr	   r   )r   r;   r-   r   r   s        r   Útest_variation_nanz TestVariation.test_variation_nan'   s/   € ð �I‰I�c‹NˆØ�v‰vˆˆ!‰Üœ	 !°
Ô;¸XÕFr    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_raise1   sM   € ð �J‰J˜˜S "§&¡&¨#Ð.Ó/ˆÜ�]‰]œ:Ð-AÔBñ 	-Ü�a GÕ,÷	-÷ 	-ñ 	-ús   »AÁAc                 ó‚   — t        j                  t        d¬«      5  t        g d¢d¬«       d d d «       y # 1 sw Y   y xY w)Nzmust be one ofr?   ©r   r)   r*   Úfoobarr:   )rB   rC   rD   r   r1   s     r   Útest_bad_nan_policyz!TestVariation.test_bad_nan_policy8   s2   € ô �]‰]œ:Ð-=Ô>ñ 	6Ü’i¨HÕ5÷	6÷ 	6ñ 	6ús   œ5µ>z&`keepdims` only supports NumPy backendc                 ó  — |j                  |j                  d«      d«      }t        |dd¬«      }t        j                  t        j
                  d«      dz  gt        j
                  d«      dz  gg«      }t        ||«       y )Né
   )r)   é   r   T©ÚaxisÚkeepdimsr)   é   )Úreshaper   r   ÚnpÚarrayr   r	   )r   r   r   Úyr-   s        r   Útest_keepdimszTestVariation.test_keepdims>   sh   € ð �J‰J�r—y‘y “} fÓ-ˆÜ�a˜a¨$Ô/ˆÜ—8‘8œbŸg™g a›j¨™l˜^Ü Ÿg™g a›j¨™l˜^ð-ó .ˆä˜˜8Õ$r    zaxis, expectedr   ©r   r   )rL   r   ©Ú
fill_valuec                 óê   — |j                  d«      }|dk(  r7t        j                  t        t        ¬«      5  t        ||d¬«      }d d d «       nt        ||d¬«      }t        |«       y # 1 sw Y   ŒxY w)N)rL   r   r   r?   TrM   )ÚzerosrB   Úwarnsr   r   r   r   )r   rN   r-   r   r   rT   s         r   Útest_keepdims_size0z!TestVariation.test_keepdims_size0G   sk   € ð �H‰H�VÓˆØ�1Š9Ü—‘Ô0Ô8MÔNñ ;Ü˜a d°TÔ:�÷;ð ;ô ˜! $°Ô6ˆAÜ˜˜8Õ$÷	;ð ;ús   ¶A)Á)A2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)rN   r   rO   )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_incrU   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t        ¬«      d«      }|j                  |d<   t	        |dd¬«      }t        |t        j                  d«      d	z  |j                  gd
¬«       y )Né   ©Údtype)r)   r"   rV   r   r3   ©rN   r;   ç      ô?ç      ø?gVçž¯Ò<)Úatol)rQ   r   Úfloatr<   r   r	   r   r   )r   r   Úar,   s       r   Útest_propagate_nanz TestVariation.test_propagate_nan]   s^   € ð
 �J‰J�r—y‘y ¬%�yÓ0°'Ó:ˆØ—&‘&ˆˆ$‰Ü�a˜a¨KÔ8ˆÜ˜œDŸI™I c›N¨3Ñ.°·±Ð7¸eÖDr    z$Python list input uses NumPy backendc                 ón   — t        ddgddggd ¬«      }t        |t        j                  d«      dz  «       y )Nr   r   r)   r*   ©rN   rh   ri   )r   r	   r   r   )r   r   rT   s      r   Útest_axis_nonezTestVariation.test_axis_noneg   s4   € ô ˜˜1�v  1˜vÐ&¨TÔ2ˆÜ˜œ4Ÿ9™9 S›>¨#Ñ-Õ.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)NrG   )r   rL   é   rK   ro   )r   rB   rC   r   Ú
IndexErrorr   r   s      r   Útest_bad_axiszTestVariation.test_bad_axisn   sE   € à�J‰Jš	¢9Ð-Ó.ˆÜ�]‰]œI¤zÐ2Ó3ñ 	"Ü�a˜bÕ!÷	"÷ 	"ñ 	"ús   ·AÁAc                 ó2  — |j                  g d¢«      }t        |«      }t        ||j                  |j                  «      «       |j	                  |d|z  g«      }t        |d¬«      }t        ||j                  |j                  |j                  g«      «       y )N)r8   ç      Àr%   ç      Àrw   g      $Àr   ro   )r   r   r   ÚinfÚstack)r   r   r   rT   Úx2Úy2s         r   Útest_mean_zerozTestVariation.test_mean_zerot   su   € ð �J‰JÒ/Ó0ˆÜ�a‹LˆÜ˜˜2Ÿ:™: b§f¡fÓ-Ô.à�X‰X�q˜$˜q™&�kÓ"ˆÜ�r Ô"ˆÜ˜˜BŸJ™J¨¯©°·±Ð'7Ó8Õ9r    r   r0   rL   r)   r9   c                 óž   — |j                  |«      }t        |«      }t        ||j                  |j                  |j                  ¬«      «       y )Nre   )r   r   r   r<   rf   )r   r   r   rT   s       r   Útest_return_nanzTestVariation.test_return_nan   s7   € à�J‰J�q‹Mˆä�a‹LˆÜ˜˜2Ÿ:™: b§f¡f°A·G±G˜:Ó<Õ=r    r*   Nc                 ó˜  — |j                  d«      }t        «       5 }|j                  t        d«       |dk7  rKt	        |«      r2t        j                  t        d¬«      5  t        ||¬«      }d d d «       nt        ||¬«      }nt        ||¬«      }d d d «       t        |j                  |«      «       y # 1 sw Y   Œ-xY w# 1 sw Y   Œ1xY w)N)r*   r   zstd*r   zSee documentation...r?   ro   )Úemptyr   ÚfilterÚUserWarningr   rB   r[   r   r   r   r   )r   rN   r-   r   r   ÚsuprT   s          r   Útest_2d_size_zero_with_axisz)TestVariation.test_2d_size_zero_with_axis†   s°   € ð �H‰H�VÓˆÜÓ ð 
	, Cà�J‰J”{ FÔ+Ø�qŠyÜ˜B”<ÜŸ™Ô&8Ð@VÔWñ 4Ü% a¨dÔ3˜÷4ð 4ô " !¨$Ô/‘Aä˜a dÔ+�÷
	,ô 	˜˜2Ÿ:™: hÓ/Õ0÷4ð 4ú÷
	,ð 
	,ús$   œAC ÁB4Á,$C Â4B=	Â9C Ã C	c                 óŒ   — |j                  ddg«      }t        t        |d¬«      |j                  |j                   «      «       y )Nrv   g      Àr)   r   )r   r   r   rx   )r   r   Úx1s      r   Útest_neg_infzTestVariation.test_neg_inf—   s6   € ð �Z‰Z˜˜c˜
Ó#ˆÜœ	 "¨1Ô-¨r¯z©z¸2¿6¹6¸'Ó/BÕCr    c                 óì   — |j                  |j                  dd|j                  gdd|j                  |j                  gg«      }t        t        |ddd¬«      |j                   |j                   g«       y )Nr   iöÿÿÿiìÿÿÿéýÿÿÿr)   r4   ©rN   r   r;   )r   r<   r   r   rx   )r   r   rz   s      r   Útest_neg_inf_nanzTestVariation.test_neg_inf_nan�   sg   € ð �Z‰Z˜"Ÿ&™& ! S¨"¯&©&Ð1Ø˜r 2§6¡6¨2¯6©6Ð2ð4ó 5ˆäœ	 "¨1°1ÀÔHØŸ&™&˜ 2§6¡6 'Ð*õ	,r    r;   c           	      ó´  — |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                  t        j                  d
«      dz  g«       y # 1 sw Y   ŒNxY w)Nr   rK   r   éûÿÿÿr)   r*   r4   r?   rg   gUUUUUUå?)rS   r<   rB   r[   r   r
   r   r	   rx   r   r   )r   r;   r   r   rT   s        r   Útest_combined_edge_casesz&TestVariation.test_combined_edge_cases¥   sÉ   € ð �H‰H�q˜"˜bŸf™f aÐ(Ø˜"˜bŸf™f aÐ(Ø˜"˜bŸf™f aÐ(ð*ó +ˆð ˜ÒÜ—‘Ô0Ô8IÔJñ @Ü˜a a°JÔ?�÷@ð @ô ˜! !°
Ô;ˆAÜ˜˜BŸF™F B§F¡F¨B¯F©F´D·I±I¸c³NÀ1Ñ4DÐEÕF÷	@ð @ús   Á#CÃCzddof, expectedgUUUUUUÅ?g      ä?ç      à?g«ªªªªªê?rh   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'   )r0   r(   r'   r%   g      à¿r�   r   )r'   r'   r'   r'   )r0   r0   r0   r0   r?   r   r4   rŠ   )r<   r   rB   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        |t	        j
                  d
«      dz  «       ||k(  sJ ‚y )Nr$   r   r)   r*   r   rL   r   r4   )r;   r   g      @)r   r<   r   r	   r   r   )r   r   rl   Únan_arT   Únan_ys         r   Útest_variation_ddofz!TestVariation.test_variation_ddofÌ   su   € ð
 �J‰JÒ+Ó,ˆØ—
‘
˜A˜q ! R§V¡V¨Q°°2·6±6Ð:Ó;ˆÜ�a˜aÔ ˆÜ˜%¨F¸Ô;ˆÜ˜œ4Ÿ9™9 S›>¨!Ñ+Ô,Ø�EŠzÐ‰zr    )"Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   rB   ÚmarkÚparametrizer.   r2   rR   r<   r   r   r=   rE   rI   rU   r€   r_   r\   rx   rb   rm   rp   rt   r|   r~   r„   r‡   r‹   rŽ   r‘   r•   © r    r   r   r      sø  „ ñòMð ‡[�[×Ñ˜U Q¨ GÓ,ñ1ó -ð1ò-ð ‡[�[×ÑÐ3Ø*¨B¯F©FÐ3Ø% w r§w¡w¨t£}°Q¡Ð7ð9ó:ñ ˜dØGôIñGóIó:ð
Gñ
 ˜dØGôIñ-óIð-ñ
 ˜dØGôIñ6óIð6ñ ˜dØEôGñ%óGð%ñ ˜dØEôGà‡[�[×ÑÐ-Ø  ( "§(¡(¨6Ó"2Ð3Ø  ' "§'¡'¨&¸R¿V¹VÔ"DÐEðGóHñ%óHóGð
%ñ ˜dØEôGà‡[�[×ÑÐ2°a¸¿¹°[À1ÀbÇfÁfÀ+Ð4NÓOñFó PóGðFñ
 ˜dØGôIñEóIðEñ ˜dÐ+QÔRñ/ó Sð/ò"ò	:ð ‡[�[×Ñ˜S B 4¨¡6¨A¨q°"·&±&¸!Ð+<Ð"=Ó>ñ>ó ?ð>ð ‡[�[×ÑÐ-Ø  "˜g¨¨B¯F©F¨8°A©: ¸¸r¿v¹v¸ÐGóIñ1óIð1òDñ ˜dØGôIñ,óIð,ñ ˜dØGôIà‡[�[×Ñ˜\¨K¸Ð+@ÓAñ	Gó BóIð	Gñ ˜dØGôIà‡[�[×ÑØØ
ˆ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óñ%óóIð%ñ" ˜dØGôIñóIñr    r   )r   ÚnumpyrR   rB   Únumpy.testingr   Úscipy.statsr   Úscipy._lib._utilr   Úscipy.conftestr   Úscipy._lib._array_apir   Úscipy._lib._array_api_no_0dr   r	   Úscipy.stats._axis_nan_policyr
   r   r   rš   ÚusefixturesÚ
pytestmarkr   r   rœ   r    r   ú<module>r§      sb   ðÛ ã Û Ý +å !Ý &Ý /Ý *ß H÷>ñ >ð # F§K¡K×$;Ñ$;Ð<NÓ$OÐP€
Ø—;‘;×/Ñ/Ð ÷Cò Cr    