+
    ,i@!                         ^ RI t ^ RIt^ RIHt ^ RIHtHtHtH	t	 ^ RI
HtHt ^ RIHt ] P                  P                   t]! RR4      R 4       tR t]! RR	R
7      ]! RRR
7       ! R R4      4       4       tR# )    N)stats)xp_default_dtypeis_numpyis_torchSCIPY_ARRAY_API)xp_assert_closexp_assert_equal)_apply_over_batchc                 F   VR 8X  d   V \         P                  ! V 4      ( ,          p \         P                  ! V4      pVP                  4       pRW&   VR8X  d   V P                  ^8X  d   \         P                  ! W^ ,          4      M(\
        P                  P                  W4      P                  pVR8X  dD   \         P                  ! \         P                  ! V 4      4      '       d   \         P                  VR&   M\         P                  ! W4      p\         P                  WT&   V# )omit      ?harrell-davis	propagate:NNN)npisnancopysize	full_liker   mstatshdquantilesdataanynanquantile)xp
nan_policymethodp_maskress   &&&&  A/usr/lib/python3/dist-packages/scipy/stats/tests/test_quantile.pyquantile_reference_last_axisr"      s    Vrxx{lOXXa[F	AAI ()!r||At$LL,,Q277 	$)<)<VVCFkk!&&CKJ    c                    \         P                  ! WR4      \         P                  ! WR4      r\        WW54      p\         P                  ! VRV4      pV'       g   \         P                  ! WbR7      pV# )   axis)r   moveaxisr"   squeeze)r   r   r'   r   keepdimsr   r    s   &&$$$$ r!   quantile_referencer,      sS    ;;q#R[["%=q
&qZ
@C
++c2t
$Cjj(Jr#   z
dask.arrayzNo take_along_axis yet.)reasonz	jax.numpyzNo mutation.c                     a  ] tR t^(t o R t]P                  P                  R. RO4      ]P                  P                  R. R O4      R 4       4       t]	! RRR	7      ]P                  P                  R
^ ^.4      ]P                  P                  RRR.4      ]P                  P                  R. R!O4      ]P                  P                  RRR.4      ]P                  P                  RRR.4      R 4       4       4       4       4       4       t
R t]P                  P                  R. R]P                  / 3. R"OR^ ^R]P                  .]P                  ^^]P                  ]P                  ./ 3. R"O. . / 3]P                  ^..R]P                  ^.RR/3. . .R]P                  ! ^]P                  4      R
R/3. . .R]P                  ! R#4      R
^ RR/3. . .R]P                  ! R$4      R
^ RR/3. RR.]P                  ! ^]P                  4      / 3]P                   ! ^^4      P#                  R%4      RR...R
RRR/3^^.^^... R&O. R'O.R
RRR/3.
4      R 4       t]P                  P                  R
. R(O4      ]P                  P                  RRR.4      R 4       4       t]P                  P                  R. R)O4      R 4       tRtV tR# )*TestQuantilec           	        VP                  . RO4      pVP                  R4      pRp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! VP                  RR.4      V4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        P
                  ! VP                  R^.4      V4       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W!P                  ^ ^.4      4       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W#RR	7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W#RR	7       RRR4       R
p\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W#^R	7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! VP                  VP                  ^^.4      VRR7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W#RR7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W#^*R7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W!P                  RR.4      RR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELX; i  + '       g   i     EL%; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELq; i  + '       g   i     EL>; i  + '       g   i     EL; i  + '       g   i     R# ; i)r%   r   z`x` must have real dtype.)matchTFNz"`p` must have real floating dtype.z"`axis` must be an integer or None.r&   z7`axis` is not compatible with the shapes of the inputs.zThe input contains nan valuesraise)r   zmethod` must be one of...za duckr   z/If specified, `keepdims` must be True or False.)r+   zD`keepdims` may be False only if the length of `p` along `axis` is 1.333333?r%         y      ?      ?)r   r(   )asarraypytestraises
ValueErrorr   r   r   )selfxpr   r   messages   &&   r!   test_input_validation"TestQuantile.test_input_validation,   s{   JJy!JJsO-]]:W55NN2::tUm4a8 6]]:&&NN2::tQi0!4 ' 7]]:W55NN1jj!Q01 6 7]]:W55NN1c* 6]]:W55NN1g. 6 L]]:W55NN1a( 6 2]]:W55NN2::rvvq!n5qWM 6 .]]:W55NN11 6 D]]:W55NN1"- 6 Y]]:W55NN1jj#s4uE 65A 655&&& 655 655555 655 655 655 655 655sx   )M)M5(M,N NN(6N<O	O$*O8M	M)	,M=	 N	N%	(N9	<O	O!	$O5	8P		r   linearzshape_x, shape_p, axisNc                ~   \        V4      p\        P                  P                  R 4      pVP                  VR7      pVP                  VR7      p	\        P                  ! WWR7      p
VP                  WR7      VP                  WR7      r\        P                  ! WWR7      p\        WP                  WR7      4       R# )   lv_r   )r   r'   dtypeN)r   r   randomdefault_rngr   r8   r   r   )r<   r   shape_xshape_pr'   r=   rF   rngr   r   refr    s   &&&&&&      r!   test_against_numpyTestQuantile.test_against_numpyT   s     !$ii##$56JJGJ$JJGJ$kk!v9zz!z)2::a:+E1nnQ&<ZZZ9:r#   TzPyTorch doesn't have `betainc`.)cpu_onlyr-   r'   r+   Fr   r   rF   float32float64r   c                   \         P                  P                  R 4      pRpVP                  VR7      P                  V4      p	VP                  VR7      P                  V4      p
VP                  VR7      R8  p\         P                  ! V4      '       g   Q h\         P
                  W&   V'       g   \         P                  ! WRR7      p
\        V4      '       d   V
P                  4       pRV^&   RVR&   \        Wd4      pVR8X  Ed   VR8X  d   \        P                  ! R	4       \        V4      '       d   \        P                  ! R
4       \        '       g   \        P                  ! R4       \        P                  ! R4      p\        WVR7      pVP!                  V4      pVP#                  WR7      p\$        P&                  ! VVP#                  V
4      3/ VB p\)        W3RR/VB p\+        VP,                  VP#                  VVR7      4       R# \        WW5R7      p\$        P&                  ! VP#                  V	4      VP#                  V
4      3/ VB p\)        W3/ VB p\+        VVP#                  VVR7      4       R# )rC   rD   g?Tr'   r+   g        g      ?marrayr   zNeeds gh-22490zFsum_cpu not implemented for UInt64, see data-apis/array-api-compat#242z-MArray is only available if SCIPY_ARRAY_API=1)r'   r+   r   )maskr   r   rE   N)r'   r+   r   r   )      )r   rG   rH   astyper   r   meanr   ravelgetattrr9   skipr   r   importorskipdict_get_namespacer8   r   r   r,   r   r   )r<   r'   r+   r   rF   r   r=   rK   shaper   r   rU   p0rT   kwargsmxpx_mpr    rL   s   &&&&&&&            r!   test_against_reference#TestQuantile.test_against_referenceg   s    ii##$56JJEJ"))%0JJEJ"))%0zzuz%+vvd|||&&t4A
 B<<BBqEBrF"!(,-|| = >"?KL((2FtvFF''+C;;q;,D..s{{1~@@C$QGfGGCCHHbjjEj&BC4!+<nnRZZ]BJJqMDVD 00RZZ5Z9:r#   c                    \         P                  ! VP                  ^
VP                  R7      R4      pVP                  \        V4      8X  g   Q hR# )
   rE   r   N)r   r   arangeint64rF   r   )r<   r=   r    s   && r!   test_integer_input_output_dtype,TestQuantile.test_integer_input_output_dtype   s;    nnRYYrY:C@yy,R0000r#   zx, p, ref, kwargsr   g      ?r4   g      ,@c                    \        V4      pVP                  V4      VP                  V4      VP                  W6R 7      r2p\        P                  ! W3/ VB p\	        Ws4       R# )rE   N)r   r8   r   r   r	   )r<   r   r   rL   rc   r=   default_dtyper    s   &&&&&&  r!   test_edge_casesTestQuantile.test_edge_cases   sO     ),JJqM2::a="**S*2VcnnQ,V,!r#   c                   . ROpVP                  4       pV'       d   ^WQ&   MVP                  V4       \        P                  ! VP	                  \        V4      4      RWR7      pVP                  \        V4      8X  g   Q hR# )r7   r   rS   N)r7      r   )r   popr   r   zerostuplera   )r<   r'   r+   r=   ra   	out_shaper    s   &&&&   r!   test_size_0TestQuantile.test_size_0   s`     JJL	IOMM$nnRXXeEl3StWyyE),,,,r#   c                   VR 8X  d,   \         P                  R8  d   \        P                  ! R4       \         P                  ! R\         P
                  R7      p\         P                  ! ^ RR4      p\        P                  ! VP                  V4      VP                  V4      VR7      p\         P                  ! W4VR7      p\        WRP                  WbP
                  R7      4       R# )	closest_observationz2.0.1z5Bug in np.quantile (numpy/numpy#26656) fixed in 2.0.1g       @rE   g      ?g      ?r3   N)
r   __version__r9   r]   rj   rQ   r   r   r8   r	   )r<   r   r=   r   r   r    rL   s   &&&    r!   test_transitionTestQuantile.test_transition   s    
 **r~~/GKKOPIIb

+IIa(nnRZZ]BJJqM&Ikk!v.ZZ::Z>?r#    )	inverted_cdfaveraged_inverted_cdfr{   hazeninterpolated_inverted_cdfrA   median_unbiasednormal_unbiasedweibullr(   ))ri   Nr(   )ri   ri   r(   )ri   )r6   r7   r(   )ri   r6   Nr   r   )r   r   rT   r5   )r   )r%   r   )r7   r7   r7   )g      ?r   g      ?)g      ?g      @g      
@)r   r%   r6   )r   r   r{   )__name__
__module____qualname____firstlineno__r?   r9   markparametrizerM   skip_xp_backendsrf   rl   r   r   fullru   rj   reshaperp   rx   r}   __static_attributes____classdictcell__)__classdict__s   @r!   r/   r/   (   s    &FP [[X
;< [[5
34
;4	<
; t,MN[[VaV,[[Z%7[[\+JK[[Wy)&<=[[X/'BC*; D > L 8 - O*;X1 [[0
c2662	
b!QRVV,rvvq!RVVRVV.Lb	Q
RR	 FFA;-rvvqkL&+A	Br(CBFF+fb\	:r(C$&!Z)G	Hr(C&)FAz4+H	I
sCj"''!RVV,b	1
))Ar

"
"9
-sseWI4T
*
,q6Aq6
-0A/B4T
*
,	./"/" [[VY/[[Z%7- 8 0- [[XHJ	@J	@r#   r/   )r   r%   )r   r%   )r9   numpyr   scipyr   scipy._lib._array_apir   r   r   r   scipy._lib._array_api_no_0dr   r	   scipy._lib._utilr
   r   r   r"   r,   r/   r   r#   r!   <module>r      s       W W H .;;//  8X& '$ ,'@A+n5]@ ]@ 6 B]@r#   