+
    ,i$                         ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHtHt ^ RIHtHtHt ]P&                  P(                  t]! RR	R
7       ! R R4      4       tR# )    N)suppress_warnings	variation)	AxisError)is_numpy)xp_assert_equalxp_assert_close)too_small_nd_omittoo_small_nd_not_omitSmallSampleWarningtorchzdata-apis/array-api-compat#271)reasonc                   b  a  ] tR t^t o RtR t]P                  P                  R^R,.4      R 4       t	]
! RRR7      R 4       t]P                  P                  R	R
]P                  3R]P                  ! R-4      ^,          3.4      ]
! RRR7      R 4       4       t]
! RRR7      R 4       t]
! RRR7      R 4       t]
! RRR7      R 4       t]
! RRR7      ]P                  P                  R^ ]P&                  ! R.4      3^]P(                  ! R/]P                  R7      3.4      R 4       4       t]
! RRR7      ]P                  P                  R^ ]P,                  3^]P                  3.4      R 4       4       t]
! RRR7      R 4       t]
! RRR7      R 4       tR t]P                  P7                  R4      R 4       t]P                  P7                  R4      ]P                  P                  RR.^,          ^^]P,                  ^	..4      R  4       4       t]P                  P                  R^ . 3^]P                  .^,          3R!]P                  3.4      R" 4       tR# t]
! RRR7      R$ 4       t ]
! RRR7      ]P                  P                  R%R
R.4      R& 4       4       t!]
! RRR7      ]P                  P                  R'^ ]P                  ! R04      ]P                  ! R14      ]P,                  ^ ]P                  R]P                  .3^R(]P                  ! R24      ]P,                  ^ ]P                  ^ ]P                  .3^]P                  ! R(4      ]P                  ! R34      ]P,                  ]P                  ]P                  ^ ]P                  .3.4      R) 4       4       t"]
! RRR7      R* 4       t#R+t$V t%R!# )4TestVariationz&
Test class for scipy.stats.variation
c                    VP                  R 4      p\        \        V^R7      VP                  \        P
                  ! R4      ^,          4      4       R# )      "@ddofNg      @)aranger	   r   asarraymathsqrtselfxpxs   && B/usr/lib/python3/dist-packages/scipy/stats/tests/test_variation.py	test_ddofTestVariation.test_ddof   s6    IIcN	!!,bjj49J.KL    sgnc                    VP                  . RO4      p\        W,          4      pVP                  V\        P                  ! ^4      ,          ^,          4      p\	        WERR7       R# )      ?g|=)rtolNr#          @      @      @g      @)r   r   r   r   r	   )r   r!   r   r   vexpecteds   &&&   r   	test_signTestVariation.test_sign   sG    JJ+,ce::c$))A,.q01%0r    Tztest plain python scalar input)np_onlyr   c                *    \        R 4      R8X  g   Q hR# )r(           Nr   r   r   s   &&r   test_scalarTestVariation.test_scalar"   s     ~$$$r    znan_policy, expected	propagateomitz(`nan_policy` only supports NumPy backendc                r    VP                  R 4      pVP                  V^	&   \        \        WAR7      V4       R# )      $@
nan_policyN)r   nanr	   r   )r   r8   r*   r   r   s   &&&& r   test_variation_nan TestVariation.test_variation_nan'   s-     IIcNvv!	!;XFr    c                    VP                  R RVP                  R.4      p\        P                  ! \        RR7      ;_uu_ 4        \        VRR7       RRR4       R#   + '       g   i     R# ; i)r#   r&   r'   zinput contains nanmatchraiser7   N)r   r9   pytestraises
ValueErrorr   r   s   && r   test_nan_policy_raise#TestVariation.test_nan_policy_raise1   sK     JJS"&&#./]]:-ABBaG, CBBBs   AA-	c                    \         P                  ! \        R R7      ;_uu_ 4        \        . RORR7       RRR4       R#   + '       g   i     R# ; i)zmust be one ofr=   foobarr7   N         )r@   rA   rB   r   r0   s   &&r   test_bad_nan_policy!TestVariation.test_bad_nan_policy8   s/     ]]:-=>>iH5 ?>>>s	   ?A	z&`keepdims` only supports NumPy backendc                   VP                  VP                  ^
4      R4      p\        V^RR7      p\        P                  ! \        P
                  ! ^4      ^,          .\        P
                  ! ^4      ^,          ..4      p\        W44       R# )
   TaxiskeepdimsN)rI      )reshaper   r   nparrayr   r	   )r   r   r   yr*   s   &&   r   test_keepdimsTestVariation.test_keepdims>   sf     JJryy}f-aa$/88bggajl^ ggajl^- .$r    zaxis, expected
fill_valuec                   VP                  R4      pV^8X  d@   \        P                  ! \        \        R7      ;_uu_ 4        \        WARR7      pRRR4       M\        WARR7      p\        XV4       R#   + '       g   i     L; i)rR   r=   TrO   N)rR   r   )zerosr@   warnsr   r   r   r   )r   rP   r*   r   r   rV   s   &&&&  r   test_keepdims_size0!TestVariation.test_keepdims_size0G   sc     HHV1908MNNaT: ON !6A8$	 ONs   A33B	zincr, expected_fillc                    VP                  . RO. RO.4      p\        V^VP                  ^,          V,           RR7      p\        WSP	                  RVR7      4       R# )rH   T)rP   r   rQ   rY   N)rH   rH   rI   rI   )rH   rI   rJ   rJ   )rI   rH   )r   r   shaper   full)r   increxpected_fillr   r   rV   s   &&&&  r   'test_keepdims_and_ddof_eq_len_plus_incr5TestVariation.test_keepdims_and_ddof_eq_len_plus_incrU   sI     JJl34aaaggaj4&7$G776m7DEr    c                    VP                  VP                  ^\        R7      R4      pVP                  VR	&   \	        V^RR7      p\        V\        P                  ! R
4      R,          VP                  .RR7       R# )   dtyper3   rP   r8         ?gV瞯<)atolN)rI   rH   r         ?)rS   r   floatr9   r   r	   r   r   )r   r   ar)   s   &&  r   test_propagate_nan TestVariation.test_propagate_nan]   s^    
 JJryy%y0':&&$aaK8DIIcN3.7eDr    z$Python list input uses NumPy backendc                z    \        ^ ^.^^..RR7      p\        V\        P                  ! R4      R,          4       R# )r   NrP   rl   rp   )r   r	   r   r   )r   r   rV   s   && r   test_axis_noneTestVariation.test_axis_noneg   s4     1v1v&T2499S>#-.r    c                    VP                  . RO. RO.4      p\        P                  ! \        \        34      ;_uu_ 4        \        V^
R7       RRR4       R#   + '       g   i     R# ; i)rH   rv   NrG   )   rR      )r   r@   rA   r   
IndexErrorr   r   s   && r   test_bad_axisTestVariation.test_bad_axisn   sB    JJ	9-.]]Iz233ab! 4333s    AA)	z5ignore:divide by zero encountered:RuntimeWarning:daskc                8   VP                  . RO4      p\        V4      p\        W1P                  VP                  4      4       VP	                  VRV,          .4      p\        V^R7      p\        WQP                  VP                  VP                  .4      4       R# )r6   rv   N)r6         r#         r   g      $)r   r   r   infstack)r   r   r   rV   x2y2s   &&    r   test_mean_zeroTestVariation.test_mean_zerot   sq     JJ/0aL::bff-.XXq$q&k"r"JJ'789r    z4ignore:invalid value encountered:RuntimeWarning:daskr   r/   c                    VP                  V4      p\        V4      p\        W2P                  VP                  VP                  R 7      4       R# )ri   N)r   r   r   r9   rj   )r   r   r   rV   s   &&& r   test_return_nanTestVariation.test_return_nan   s7     JJqMaL::bffAGG:<=r    Nc           	        VP                  R4      p\        4       ;_uu_ 4       pVP                  \        R4       V^ 8w  dY   \	        V4      '       d;   \
        P                  ! \        RR7      ;_uu_ 4        \        WAR7      pRRR4       M\        WAR7      pM\        WAR7      pRRR4       \        XVP                  V4      4       R#   + '       g   i     L5; i  + '       g   i     L@; i)rJ   zstd*zSee documentation...r=   rv   N)rJ   r   )emptyr   filterUserWarningr   r@   r]   r   r   r   r   )r   rP   r*   r   r   suprV   s   &&&&   r   test_2d_size_zero_with_axis)TestVariation.test_2d_size_zero_with_axis   s     HHV  CJJ{F+qyB<<&8@VWW%a3 XW "!/Aa+ ! 	2::h/0 XW ! s$   AC7C	"CCCC.	c                    VP                  RR.4      p\        \        V^R7      VP                  VP                  ) 4      4       R# )r'   r   Nr   g      )r   r   r   r   )r   r   x1s   && r   test_neg_infTestVariation.test_neg_inf   s6     ZZc
#	"1-rzz266'/BCr    c           	         VP                  VP                  ^RVP                  .RRVP                  VP                  ..4      p\        \        V^^RR7      VP                  ) VP                  ) .4       R# )rH   r4   rP   r   r8   Nii)r   r9   r   r   r   )r   r   r   s   && r   test_neg_inf_nanTestVariation.test_neg_inf_nan   sg     ZZ"&&!S"&&1r26626624 5	"11H&&266'*	,r    r8   c           	        VP                  ^ ^
VP                  ^.^ RVP                  ^.^ RVP                  ^..4      pVR8X  dA   \        P                  ! \        \
        R7      ;_uu_ 4        \        V^ VR7      pRRR4       M\        V^ VR7      p\        XVP                  VP                  VP                  \        P                  ! R4      ^,          .4       R#   + '       g   i     L[; i)r   r4   r=   rk   NgUUUUUU?)r   r9   r@   r]   r   r
   r   r	   r   r   r   )r   r8   r   r   rV   s   &&&  r   test_combined_edge_cases&TestVariation.test_combined_edge_cases   s     JJB*B*B*, - 08IJJaaJ? KJ !!
;ABFFBFFBFFDIIcN14DEF	 KJs   .CC/	zddof, expected      ?c           
     4   VP                   pVP                  R RVR.. R	OVR
RV.VRRV.WDWD.. RO. RO.4      p\        P                  ! \        \
        R7      ;_uu_ 4        \        V^VRR7      pRRR4       \        XV4       R#   + '       g   i     L; i)r#   r&   r'   r   r   r=   r4   r   N)r/   r(   r'   r#   g      )r'   r'   r'   r'   )r/   r/   r/   r/   )r9   r   r@   r]   r   r
   r   r	   )r   r   r*   r   r9   r   r)   s   &&&&   r   test_more_nan_policy_omit_tests-TestVariation.test_more_nan_policy_omit_tests   s     ffJJc3,,c3,c3,3,,,. / \\,4EFF!!$6BA G8$ GFs   !BB	c           	        VP                  . RO4      pVP                  ^^^VP                  ^^VP                  .4      p\        V^R7      p\        VR^R7      p\        V\        P
                  ! R4      ^,          4       WE8X  g   Q hR# )r#   r   r4   )r8   r   Nr%   g      @)r   r9   r   r	   r   r   )r   r   rr   nan_arV   nan_ys   &&    r   test_variation_ddof!TestVariation.test_variation_ddof   ss    
 JJ+,

Aq!RVVQ266:;aa %F;499S>!+,zzr     rn   g@ro   )rR   rH   gUUUUUU?g      ?g?rp   )&__name__
__module____qualname____firstlineno____doc__r   r@   markparametrizer+   skip_xp_backendsr1   rT   r9   r   r:   rC   rK   rW   r   rb   r^   r   re   rs   rw   r}   filterwarningsr   r   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s<    M [[UQG,1 -1 d+KL% M% [[3*BFF3%rwwt}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 "''&RVV"DEGH%HG
% dEG[[2a[1bff+4NOF PGF
 dGIEIE d+QR/ S/" [[ WX	: Y	: [[ VW[[SB46Aq"&&!+<"=>> ? X> [[- "gBFF8A:rvvGI1I1D dGI,I, dGI[[\K+@A	G BI	G dGI[[
bggclBGGCL"&&!RVVS"&&I	J
c2773<BFFArvv>	?
bggclBGGCL"&&"&&"&&!RVVL	M	O%I%" dGIIr    r   )r   numpyrT   r@   numpy.testingr   scipy.statsr   scipy._lib._utilr   scipy._lib._array_apir   scipy._lib._array_api_no_0dr   r	   scipy.stats._axis_nan_policyr
   r   r   r   r   r   r   r    r   <module>r      s^       + ! & * H> > ;;//  '"BCF F DFr    