+
    0iE                        ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
HtHtHtHtHt ^ RIHtHt ^ RIHt ] P*                  P,                  t].t]! RR4      R 4       t]P2                  ! ^ ^0R7      R	 4       tR
 t]! ]P8                  4       ! R R4      4       t]! RR4      R 4       t]! ]4       ! R R4      4       tR# )    N)stats)_xp_searchsorted)xp_default_dtypeis_numpyis_torchis_jaxmake_xp_test_caseSCIPY_ARRAY_APIxp_sizexp_copy)xp_assert_closexp_assert_equal)_apply_over_batchc                    VR 8X  d   V \         P                  ! V 4      ( ,          p \         P                  ! V4      pVP                  4       pRW&   VR8X  dY   V P                  ^8X  d   \         P                  ! W^ ,          4      M(\
        P                  P                  W4      P                  pMPVP                  R4      '       d"   \        \         P                  ! V 4      W4      pM\         P                  ! WVR7      p\         P                  ! V4      pVR8X  dD   \         P                  ! \         P                  ! V 4      4      '       d   \         P                  VR&   \         P                  WT&   V# )omit      ?harrell-davisroundmethod	propagate:NNN)npisnancopysize	full_liker   mstatshdquantilesdata
startswithwinsor_reference_1dsortquantileasarrayanynan)xp
nan_policyr   p_maskress   &&&&  ]/var/www/html/photoedit/myenv/lib/python3.14/site-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 				7	#	#!"''!*a8kk!v.
**S/C[ RVVBHHQK%8%8A&&CKJ    )excludedc                 N   \        V 4      pVR 8X  dX   \        VR8  d   \        P                  ! W,          4      M"\        P                  ! W1,          ^,
          4      4      pW,          # VR8X  dX   \        VR8  d   \        P                  ! W,          4      M"\        P
                  ! W1,          ^,
          4      4      pW,          # VR8X  dP   \        VR8  d   \        P
                  ! W,          4      M"\        P                  ! W1,          ^,
          4      4      pV X,          # )round_nearestr   round_outwardround_inward)lenintr   r   floorceil)yr(   r   njs   &&&  r,   r!   r!   /   s     	AA 1s70CD
 4K	 
?	"1s7	0BC 4K 
>	!!c'rxx	/BCQ4Kr.   c                   \         P                  ! WR4      \         P                  ! \         P                  ! V4      VR4      r\        WW54      p\         P                  ! VRV4      pV'       g   \         P                  ! WbR7      pV# )   axis)r   moveaxis
atleast_1dr-   squeeze)r'   r(   r>   r)   keepdimsr   r+   s   &&$$$$ r,   quantile_referencerD   =   s^    ;;q#R[[q1A4%Lq
&qZ
@C
++c2t
$Cjj(Jr.   c                     a  ] tR t^Ft o R tR t]! RRR.R7      ]P                  P                  R. R&O4      ]P                  P                  R. R(O4      ]P                  P                  R
RR.4      R 4       4       4       4       t
]P                  P                  R4      ]! RR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*O4      ]P                  P                  R
RR.4      R 4       4       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. R0O.RR	RR/3.
4      R 4       t]P                  P                  R. R1O4      ]P                  P                  RRR.4      R 4       4       t]P                  P                  R. R2O4      R 4       t]P                  P                  R RR.4      R! 4       t]P                  P                  R. R3O4      R" 4       t]P                  P                  R4      ]P                  P                  R. R3O4      ]P                  P                  R#^2R4.4      R$ 4       4       4       tR%tV tR	# )5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#VP                  W!P                  4      R	7       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       \        V4      '       ge   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#VRR7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W#V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LY; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELv; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELz; i  + '       g   i     ELG; i  + '       g   i     R# ; i)r<   r   z`x` must have real dtype.)matchTFNz"`p` must have real floating dtype.z`weights` must have real dtype.)weightsz"`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 duckr   z4`method='harrell-davis'` does not support `weights`.r   rI   r   z4`method='round_nearest'` does not support `weights`.r1   z/If specified, `keepdims` must be True or False.)rC   zD`keepdims` may be False only if the length of `p` along `axis` is 1.333333?r<         y      ?      ?)r   r?   )
r$   pytestraises
ValueErrorr   r#   astype	complex64r   r&   )selfxpr'   r(   messages   &&   r,   test_input_validation"TestQuantile.test_input_validationI   s<   JJy!JJsO-]]:W55NN2::tUm4a8 6]]:&&NN2::tQi0!4 ' 7]]:W55NN1jj!Q01 6 4]]:W55NN11ll)CD 6 7]]:W55NN1c* 6]]:W55NN1g. 6 L]]:W55NN1a( 6 bzz5Gz99rzz2661a.91Q : /]]:W55NN11 6 I]]:W55NN1?C 6 I]]:W55NN1?C 6 D]]:W55NN1"- 6 Y]]:W55NN1jj#s4uE 65[ 655&&& 655 655 655555 655
 :99 655 655 655 655 655s   )Q)Q5(Q-2R+R0R)7R=6S3S%:S9T
T!*T5Q	Q*	-Q>	R	R&	)R:	=S	S"	%S6	9T
	T	!T2	5U	c                   \         P                  ! WR4      pVP                  p\         P                  ! V4      pVP	                  ^
VP
                  R,          \         P                  R7      p. p. pV FJ  pVP                  V4      p	VP                  \         P                  ! W4      4       VP                  V	4       KL  	  \         P                  ! V4      \         P                  ! V4      rvV^8  d0   \         P                  ! V^ R7      \         P                  ! V^ R7      rv\         P                  ! VRV4      \         P                  ! VRV4      rv\         P                  ! WqP                  R7      pWv3# )r<   )r   dtyper=   r[   r?   )r   swapaxesndim
atleast_2dintegersshapeint32permutedappendrepeatstackrB   r$   r[   )
rU   r'   r>   rngr^   countsx_reprI   x_counts_s
   &&&&      r,   _get_weights_x_repTestQuantile._get_weights_x_rep   s   KK$vvMM!bqwwr{"((CBll6*GLL2/0NN7#  %"((7*;w!8ZZA6

7QR8S7UB5r{{7BPT7Uw**WGG4~r.   TzPyTorch doesn't have `betainc`.cupy)cpu_onlyreason
exceptionsr   zshape_x, shape_p, axisNrI   Fc           	        V'       dL   VP                  R 4      '       g   VP                  R4      '       g   VR8X  d   \        P                  ! R4       \        V4      p\        P
                  P                  R4      pVP                  VR7      p	VP                  VR7      p
V'       d   V P                  WV4      w  r[MRT	r\        YVP                  R 4      '       d
   VR,          MTVRVRJR	7      pVP                  WR
7      VP                  WR
7      rVf   TMVP                  WWR
7      p\        P                  ! WWVR7      p\        WP                  WR
7      4       R# )_r   r   z4`weights` not supported by private (legacy) methods.   lv_r   Nr<   NNr   )r   r>   r)   rC   r\   )r   rI   r>   )r    rP   skipr   r   randomdefault_rngrl   rD   r$   r   r#   r   )rU   r   shape_xshape_pr>   rI   rV   r[   rg   r'   r(   ri   refr+   s   &&&&&&&       r,   test_against_reference#TestQuantile.test_against_reference   s'    ))#..&2C2CG2L2L!?2KKNO $ii##$56JJGJ$JJGJ$!44QcBNGU!1U 6+<+<S+A+AVBZv+t8KM zz!z)2::a:+E1$_'"**W*2RnnQ&MZZZ9:r.   z%ignore:torch.searchsorted:UserWarningz	jax.numpyr>   rC   r)   r   r[   float32float64c                   \        V4      '       d   VR 8X  d   \        P                  ! R4       V'       d   VR9   d   \        P                  ! R4       \        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&   \        Wt4      pV'       d-   V P                  WV4      w  rnVf   TMVP                  V4      pMR
T
rVR 8X  d   \        '       g   \        P                  ! R4       Ve   \        P                  ! R4       \        P                   ! R 4      p\#        WVR7      pVP%                  V4      pVP                  WR7      pVf   TMVP                  V4      p\&        P(                  ! VVP                  V4      3RV/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RV/VB p\+        W3/ VB p\-        VVP                  VVR7      4       R
# )marrayz(`marray` currently incompatible with JAXz'These methods don't yet support weightsrt   ru   g?Tr>   rC                 ?Nz-MArray is only available if SCIPY_ARRAY_API=1z)MArray is not yet compatible with weights)r>   rC   r   )maskrI   r)   r   r\   )r>   rC   r)   r   >   r1   r   )      )r   rP   rw   r   rx   ry   rS   r%   r&   meanr   ravelgetattrrl   r$   r
   importorskipdict_get_namespacer   r#   rD   r   r   )rU   r>   rC   r)   r[   r   rI   rV   rg   ra   r'   r(   r   p0ri   r   kwargsmxpx_mpr+   r|   s   &&&&&&&&             r,   test_against_reference_2%TestQuantile.test_against_reference_2   sb    "::*0KKBCv!CCKKABii##$56JJEJ"))%0JJEJ"))%0zzuz%+vvd|||&&t4A
 B<<BBqEBrF"!44QcBNG!(gbjj6IG!1U!"?KL"GH((2FtvFF''+C;;q;,D!(gckk'6JG..s{{1~QwQ&QC$UK&KFKCCHHbjjEj&BC4!+<nnRZZ]BJJqMU7UfU 4V4RZZ5Z9:r.   c                    \         P                  ! VP                  ^
VP                  R7      R4      pVP                  \        V4      8X  g   Q hR# )
   r\   r   N)r   r#   arangeint64r[   r   )rU   rV   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      ?rL   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# )r\   N)r   r$   r   r#   r   )rU   r'   r(   r|   r   rV   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# )rO   r   r   N)rO      r   )r   popr   r#   zerostuplera   )rU   r>   rC   rV   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                  ! Y4VP                  R4      '       d
   VR	,          MT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       @r\   g     ?g      ?r   rs   rv   N)r   __version__rP   rw   r   r   r   r#   r$   r    r   )rU   r   rV   r'   r(   r+   r|   s   &&&    r,   test_transitionTestQuantile.test_transition  s     **r~~/GKKOPIIb

+IIa'*nnRZZ]BJJqM&Ikk!V5F5Fs5K5KvbzQWXZZ::Z>?r.   zero_weightsc           
     \   \        V4      '       d(   VP                  R 8  d   \        P                  ! R4       \	        V4      p\
        P                  P                  R4      pRpVP                  ^dR7      pVP                  ^dR7      pV'       d   ^ WwR8  &   \
        P                  ! RRR4      p\        P                  ! VP                  WcR	7      VP                  WR	7      WRP                  WsR	7      R
7      p	\
        P                  ! WhWWR
7      p
\        WP                  WR	7      4       R# )z2.0z'`weights` not supported by NumPy < 2.0.   z-\"}	inverted_cdfru   r   r   r   i,  r\   )r   rI   N)r   r   rP   rw   r   r   rx   ry   linspacer   r#   r$   r   )rU   r   rV   r[   rg   r   r'   rI   r(   r+   r|   s   &&&        r,   test_weights_against_numpy'TestQuantile.test_weights_against_numpy*  s    B<<BNNU2KKAB $ii##$56JJCJ **#*&%&GcM"KKB$nnRZZZ7A9S$*JJwJ4TVkk!v?ZZZ9:r.   c           	     X   \         P                  P                  R 4      p^dpVP                  VP                  VR7      4      p\	        V4      pVP                  VP                  VR7      4      pVP                  VP                  VR7      R8  4      pVP                  VP                  VR7      4      p	VP                  VRV	4      p	\        P                  ! WWWR7      p
\        P                  ! WX( ,          WyV( ,          VR7      p\        W4       \        WV4       R	pVP                  VP                  VR7      4      p\	        V4      pVP                  VP                  VR7      4      pVP                  VP                  VR7      R8  4      pVP                  VP                  VR7      4      p	VP                  WP                  V4      pVP                  VRV	4      p\        P                  ! WWWR
R7      p
\        P                  ! WV	RVR
R7      p\        W4       \        WV4       R# )r   ru   皙?r   rK   )rI   r   r>   r   )rI   r)   r   r>   N)r   d   r?   )r   rx   ry   r$   r   wherer   r#   r   r   r&   )rU   r   rV   rg   r9   r'   x0r(   i_zerorI   r+   r|   ra   x_nannedweights_zeroeds   &&&            r,   test_zero_weightsTestQuantile.test_zero_weights;  s   
 ii##$56 JJszzqz)*QZJJszzqz)*CJJAJ.45**SZZQZ/0((62w/nnQ7BnnQwZVG4DVT! JJszzuz-.QZJJszzuz-.CJJEJ2S89**SZZUZ3488FFFA.&"g6nnQ>rRnnX'(.vBH!r.   ra   c                `   \         P                  P                  R 4      pVP                  VP                  VR7      4      pVP                  VP                  VR7      4      pVP	                  V4      p\
        P                  ! WVWqR7      p\
        P                  ! WVVR7      p	\        W4       R# )l   .,+ru   rK   r   N)r   rx   ry   r$   	ones_liker   r#   r   )
rU   r   ra   rV   rg   r'   r(   rI   r+   r|   s
   &&&&      r,   test_unity_weightsTestQuantile.test_unity_weights^  s     ii##$56JJszzuz-.JJszzuz-.,,q/nnQ7BnnQ&1!r.    )r   averaged_inverted_cdfr   hazeninterpolated_inverted_cdflinearmedian_unbiasednormal_unbiasedweibullr   r1   r2   r3   _lower_higher	_midpoint_nearestr?   ))r   Nr?   )r   r   r?   )r   )rN   rO   r?   ))r   rN   Nr   )r   r   r   )r   r   r1   rM   )r   )r<   r   )rO   rO   rO   )g      ?r   g      ?)g      ?g      @g      
@)r   r<   rN   )r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   )2   rO   )__name__
__module____qualname____firstlineno__rX   rl   skip_xp_backendsrP   markparametrizer}   filterwarningsr   r   r   r&   fullr   r   reshaper   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r,   rF   rF   F   s"    3Fl& t,M"(+[[X
89 [[5LN[[Y6; 7N9+;2 [[ GHt,M"(+!68[[VaV,[[Z%7[[\+JK[[Wy)&<=[[X'ST[[Y64; 7 U > L 8 -8 I4;l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	78	@8	@ [[^eT];; <;  [[X		> [[ GH[[X	 [[Wr7m4" 5	 I"r.   rF   c                 2    \         P                  ! WVR 7      # )side)r   searchsorted)avr   s   &&&r,   np_searchsortedr   o  s    ??1d++r.   c            	       p  a  ] tR tRt o ]P
                  P                  RR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       tRtV t	R# )Test_XPSearchsortedit  r   leftrighttiesFTra   nans_xinfs_xc                   V'       d(   \        V4      '       d   \        P                  ! R 4       \        P                  P                  R4      pV'       d   VP                  ^VR7      pMVP	                  V4      p\        P                  ! V\        P                  R7      p\        P                  ! V\        P                  4      p	\        P                  ! V\        P                  ) 4      p
\        P                  ! \        P                  ) \        P                  \        P                  .4      p\        P                  ! WP                  RR	 R
,           4      pVP                  \        P                  ! WW3R	R7      R	R7      pV'       d'   VP	                  V4      R8  p\        P                  W&   V'       dN   VP	                  V4      R8  p\        P                  ) W&   VP	                  V4      R8  p\        P                  W&   \        P                   ! VR	R7      p\        P                  ! V\        P"                  R7      \        P                  ! V\        P"                  R7      rVP                  ^4      P$                  p\'        V4      ^ 8X  dd   VP(                  ^ 8  dS   VP                  R	,          ^ 8w  d;   VP+                  VP                  RR	 VP                  R	,          3,           VR7      pMVP                  \-        WVR7      VR7      pVP                  V4      VP                  V4      r\/        WVR7      p\1        VV4       R# )ztorch sorts NaNs differentlyl   %Dg hru   r\   Nr=   r   g?r   r?   )rO   )r   rP   rw   r   rx   ry   r`   r$   r   	nextafterinfr&   broadcast_tora   rc   concatenater"   r   r[   r   r^   emptyr   r   r   )rU   r   r   ra   r   r   rV   rg   r'   xrxlrj   r8   r   xp_default_intr|   r+   s   &&&&&&&          r,   test_ndTest_XPSearchsorted.test_ndv  s2    hrllKK67ii##$67QU+A

5!AJJq

+\\!RVV$\\!bffW%ZZ"&&"&&"&&12__R"!45LLbALK::e$s*DffAG::e$s*DvvgAG::e$s*DffAGGGABzz!2::.

1BJJ0O1A,,1:?qvvzaggbkQ.>((1773B<1772;.8(OC**_Q=^*TCzz!}bjjm1q$/S!r.   r   N)r   r<   rN   r      i  i'  )rN   r   )r   rN   )rN   r   )rN   rO   r   )
r   r   r   r   rP   r   r   r   r   r   r   s   @r,   r   r   t  s     [[Vfg%67[[VeT]3[[W 'L M[[Xt}5[[Xt}5 " 6 6M 4 8 "r.   r   )r'   r<   )r(   r<   )r   r<   )r   r<   ) rP   numpyr   scipyr   scipy.stats._quantiler   scipy._lib._array_apir   r   r   r   r	   r
   r   r   scipy._lib._array_api_no_0dr   r   scipy._lib._utilr   r   r   lazy_xp_modulesr-   	vectorizer!   rD   r#   rF   r   r   r   r.   r,   <module>r      s       2	 	 	 I .;;// '8X& '. 1v
 
 5>>"e" e" #e"P	 8X&, ', #$'" '" %'"r.   