Ë
    qwj�$  ã                   ó¾   — 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	m
Z
 d dlmZmZ d dlmZmZmZ ej$                  j&                  Z e	e«       G d„ d«      «       Zy)	é    N©Ú	variation)Ú	AxisError)Úmake_xp_test_caseÚeager_warns)Úxp_assert_equalÚxp_assert_close)Ú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«      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ej                  j5                  d"«      d#„ «       Zej                  j5                  d$«      ej                  j                  d%d&gd'z  dd(ej*                  d)gg«      d*„ «       «       Zej                  j5                  d+«      ej                  j                  ddg fdej                  gd,z  fd-ej                  fg«      d.„ «       «       Zej                  j5                  d"«      d/„ «       Z e	dd¬	«      d0„ «       Z e	dd¬	«      ej                  j                  d1ddg«      d2„ «       «       Z  e	dd¬	«      ej                  j                  d3d ej                  d4«       ej                  d5«      ej*                  dej                  d&ej                  gfdd6 ej                  d7«      ej*                  dej                  dej                  gfd( ej                  d6«       ej                  d8«      ej*                  ej                  ej                  dej                  gfg«      d9„ «       «       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      úe/var/www/html/newmanjeet/manjet/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(`nan_policy` only supports NumPy backendc                 ó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Úraiser9   )r   r;   ÚpytestÚraisesÚ
ValueErrorr   r   s      r   Útest_nan_policy_raisez#TestVariation.test_nan_policy_raise1   sE   € ð �J‰J˜˜S "§&¡&¨#Ð.Ó/ˆÜ�]‰]œ:Ð-AÖBÜ�a GÕ,÷ C×BÑBú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)   Úfoobarr9   )rA   rB   rC   r   r2   s     r   Útest_bad_nan_policyz!TestVariation.test_bad_nan_policy8   s)   € ô �]‰]œ:Ð-=Ö>Ü’i¨HÕ5÷ ?×>Ñ>ú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   )rK   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)rK   r   r   r>   TrL   )ÚzerosrA   Úwarnsr   r   r   r   ©r   rM   r,   r   r   rS   s         r   Útest_keepdims_size0z!TestVariation.test_keepdims_size0G   sd   € ð �H‰H�VÓˆØ�1Š9Ü—‘Ô0Ô8MÖNÜ˜a d°TÔ:�÷ OÐNô ˜! $°Ô6ˆAÜ˜˜8Õ$÷	 OÐNú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)rM   r   rN   )r(   r   rV   )r   r   Úshaper   Úfull)r   ÚincrÚexpected_fillr   r   rS   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!   rU   r   r4   ©rM   r:   ç      ô?ç      ø?gVçž¯Ò<)Úatol)rP   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)   ©rM   rh   ri   )r   r	   r   r   )r   r   rS   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)NrF   )r   rK   é   rJ   ro   )r   rA   rB   r   Ú
IndexErrorr   r   s      r   Útest_bad_axiszTestVariation.test_bad_axisn   s<   € à�J‰Jš	¢9Ð-Ó.ˆÜ�]‰]œI¤zÐ2Õ3Ü�a˜bÕ!÷ 4×3Ñ3ú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)r7   ç      Àr$   ç      Àrw   g      $Àr   ro   )r   r   r   ÚinfÚstack)r   r   r   rS   Ú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   z4ignore:invalid value encountered:RuntimeWarning:daskr   r1   rK   r(   r8   c                 óž   — |j                  |«      }t        |«      }t        ||j                  |j                  |j                  ¬«      «       y )Nre   )r   r   r   r;   rf   )r   r   r   rS   s       r   Útest_return_nanzTestVariation.test_return_nan€   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   ro   )Úemptyr   r   r   r   r   r[   s         r   Útest_2d_size_zero_with_axisz)TestVariation.test_2d_size_zero_with_axisˆ   sd   € ð �H‰H�VÓˆØ�1Š9ô Ô/°BÖ7Ü˜a dÔ+�÷ 8Ð7ô ˜! $Ô'ˆAÜ˜˜2Ÿ:™: hÓ/Õ0÷	 8Ð7ús   ¨A(Á(A1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(   r5   ©rM   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   rJ   r   éûÿÿÿr(   r)   r5   r>   rg   gUUUUUUå?)r   r;   rA   rZ   r   r
   r   r	   rx   r   r   )r   r:   r   r   rS   s        r   Útest_combined_edge_casesz&TestVariation.test_combined_edge_cases¥   s½   € ð �J‰J˜˜B §¡¨Ð*Ø˜B §¡¨Ð*Ø˜B §¡¨Ð*ð,ó -ˆð ˜ÒÜ—‘Ô0Ô8IÖJÜ˜a a°JÔ?�÷ KÐJô ˜! !°
Ô;ˆAÜ˜˜BŸF™F B§F¡F¨B¯F©F´D·I±I¸c³NÀ1Ñ4DÐEÕF÷	 KÐJú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&   )r1   r'   r&   r$   g      à¿rŒ   r   )r&   r&   r&   r&   )r1   r1   r1   r1   r>   r   r5   r‡   )r;   r   rA   rZ   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Ü˜! !¨$¸6ÔBˆA÷ Gä˜˜8Õ$÷ GÐFú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   rK   r   r5   )r:   r   g      @)r   r;   r   r	   r   r   )r   r   rl   Únan_arS   Ú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   rA   ÚmarkÚparametrizer-   Úskip_xp_backendsr3   rQ   r;   r   r<   rD   rH   rT   r€   r_   r\   rx   rb   rm   rp   rt   Úfilterwarningsr|   r~   r�   r„   rˆ   r‹   rŽ   r’   © r   r   r   r      sƒ  „ ñòMð ‡[�[×Ñ˜U Q¨ GÓ,ñ1ó -ð1ñ ˜dÐ+KÔLñ%ó Mð%ð ‡[�[×ÑÐ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ð/ò"ð ‡[�[×ÑÐ 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Ø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   ÚnumpyrQ   rA   Úscipy.statsr   Úscipy._lib._utilr   Úscipy._lib._array_apir   r   Úscipy._lib._array_api_no_0dr   r	   Úscipy.stats._axis_nan_policyr
   r   r   r—   r™   r   r›   r   r   Ú<module>r¢      sW   ðÛ ã Û å !Ý &ç @ß H÷>ñ >ð —;‘;×/Ñ/Ð ñ �9Ó÷Dð Dó ñDr   