Ë
    ÏÍ:j‚ˆ  ã                   ó>  — d dl Z d dlZd dlmZ d dlmZmZmZm	Z	 d dl
mZmZmZmZmZmZmZmZmZmZ d dlmZmZ d dlmZ d dlmc mZ d dlmZ e j@                  jB                  Z!egZ" edd	«      d
„ «       Z# ejH                  d dh¬«      d„ «       Z%d„ Z& eejN                  «       G d„ d«      «       Z( edd«      d„ «       Z) ee«       G d„ d«      «       Z* edd«      d„ «       Z+d ddddœd„Z, e- e.e«      «      Z/ eej`                  «       G d„ d«      «       Z1y)é    N)Ústats)Ú_xp_searchsortedÚ_estimated_cdf_methodsÚ$_estimated_cdf_discontinuous_methodsÚ!_estimated_cdf_continuous_methods)
Úxp_default_dtypeÚis_numpyÚis_torchÚis_jaxÚis_cupyÚis_array_api_strictÚmake_xp_test_caseÚSCIPY_ARRAY_APIÚxp_sizeÚxp_copy)Úxp_assert_closeÚxp_assert_equal)Ú_apply_over_batch)Ú_broadcast_arrays)Úxé   )Úpr   c                 óª  — |dk(  r| t        j                  | «          } t        j                  |«      }|j                  «       }d||<   |dk(  rS| j                  dk(  rt        j                  || d   «      n)t
        j                  j                  | |«      j                  }nJ|j                  d«      r!t        t        j                  | «      ||«      }nt        j                  | ||¬«      }t        j                  |«      }|dk(  r;t        j                  t        j                  | «      «      rt         j                  |d d  t         j                  ||<   |S )	NÚomitç      à?úharrell-davisr   r   Úround©ÚmethodÚ	propagate)ÚnpÚisnanÚcopyÚsizeÚ	full_liker   ÚmstatsÚhdquantilesÚdataÚ
startswithÚwinsor_reference_1dÚsortÚquantileÚasarrayÚanyÚnan)r   r   Ú
nan_policyr   Úp_maskÚress         út/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/stats/tests/test_quantile.pyÚquantile_reference_last_axisr4      sþ   € à�VÒØŒr�x‰x˜‹{ˆl‰OˆÜ�X‰X�a‹[€FØ	�‰‹€AØ€A€f�IØ�Ò à()¯©°!ªŒr�|‰|˜A˜q ™tÔ$Ü—L‘L×,Ñ,¨Q°Ó2×7Ñ7ñ 	à	×	Ñ	˜7Ô	#Ü!¤"§'¡'¨!£*¨a°Ó8‰ä�k‰k˜!˜Q vÔ.ˆä
�*‰*�S‹/€CØ�[Ò ¤R§V¡V¬B¯H©H°Q«KÔ%8Ü—‘ˆ‰Aˆä—&‘&€Cˆ�KØ€Jó    é   )Úexcludedc                 óÚ  — t        | «      }|dk(  rFt        |dk  rt        j                  ||z  «      nt        j                  ||z  dz
  «      «      }| |   S |dk(  rFt        |dk  rt        j                  ||z  «      nt        j
                  ||z  dz
  «      «      }| |   S |dk(  rAt        |dk  rt        j
                  ||z  «      nt        j                  ||z  dz
  «      «      }|    S )NÚround_nearestr   r   Úround_outwardÚround_inward)ÚlenÚintr!   r   ÚfloorÚceil)Úyr   r   ÚnÚjs        r3   r*   r*   4   sÕ   € ô 	ˆA‹€AØ�Ò Ü 1 s¢7”—‘˜˜Q™”´·±¸¸Q¹À¹Ó0CÓDˆð
 ˆQ‰4€Kð	 
�?Ò	"Ü 1 s¢7”—‘˜˜Q™”´·±¸¸A¹À¹	Ó0BÓCˆð ˆQ‰4€Kð 
�>Ò	!Ü ! c¢'”—‘˜˜A™”¬r¯x©x¸¸A¹À¹	Ó/BÓCˆØˆQ‰4€Kr5   c                ó  — t        j                  | |d«      t        j                  t        j                  |«      |d«      }} t        | |||«      }t        j                  |d|«      }|st        j                  ||¬«      }|S )Néÿÿÿÿ©Úaxis)r!   ÚmoveaxisÚ
atleast_1dr4   Úsqueeze)r   r   rF   r0   Úkeepdimsr   r2   s          r3   Úquantile_referencerK   B   sh   € Ü�;‰;�q˜$ Ó#¤R§[¡[´·±¸qÓ1AÀ4ÈÓ%L€q€AÜ
& q¨!¨Z¸Ó
@€CÜ
�+‰+�c˜2˜tÓ
$€CÙÜ�j‰j˜ 4Ô(ˆØ€Jr5   c                   óÖ  — e Zd Zd„ Zd„ Z edddg¬«      ej                  j                  dg d¢«      ej                  j                  d	g d
¢«      ej                  j                  dddg«      d„ «       «       «       «       Z	ej                  j                  d«       eddddg¬«      ej                  j                  dddg«      ej                  j                  dddg«      ej                  j                  dg d¢«      ej                  j                  dddg«      ej                  j                  dg d¢«      ej                  j                  dddg«      d„ «       «       «       «       «       «       «       «       Zd„ Zej                  j                  dg dej                  i fg d¢dddd ej                  gej                  dd!ej                  ej                  gi fg d¢g g i fej                  d"ggdej                  d"gdd#ifg g gd ej                  d"ej                  «      ddifg g gd ej                   d$«      ddd%œfg g gd ej                   d&«      ddd%œfg dd'g ej                  d"ej                  «      i f ej"                  dd(«      j%                  d)«      dd*gggd+dd%œfdd"gd!d,ggg d-¢g d.¢gd+dd%œfg
«      d/„ «       Zej                  j                  dg d0¢«      ej                  j                  dddg«      d1„ «       «       Zej                  j                  dg d2¢«      d3„ «       Zej                  j                  d4ddg«      d5„ «       Zej                  j                  dg d6¢«      d7„ «       Zej                  j                  d«      ej                  j                  dg d6¢«      ej                  j                  d8d9d:g«      d;„ «       «       «       Z eddddg¬«      d<„ «       Zy+)=ÚTestQuantilec           	      óÜ  — |j                  g d¢«      }|j                  d«      }d}t        j                  t        |¬«      5  t	        j
                  |j                  ddg«      |«       d d d «       t        j                  t        «      5  t	        j
                  |j                  ddg«      |«       d d d «       d	}t        j                  t        |¬«      5  t	        j
                  ||j                  d
dg«      «       d d d «       d}t        j                  t        |¬«      5  t	        j
                  |||j                  ||j                  «      ¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       t        |«      sZd}t        j                  t        |¬«      5  t	        j
                  |j                  |j                  ddg«      |d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  |||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  |||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       d }t        j                  t        |¬«      5  t	        j
                  ||j                  dd!g«      d¬«       d d d «       y # 1 sw Y   �Œ_xY w# 1 sw Y   �Œ#xY w# 1 sw Y   �ŒãxY w# 1 sw Y   �Œ˜xY w# 1 sw Y   �ŒgxY w# 1 sw Y   �Œ8xY w# 1 sw Y   �ŒxY w# 1 sw Y   �Œ¯xY w# 1 sw Y   �Œ~xY w# 1 sw Y   �ŒLxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒèxY w# 1 sw Y   y xY w)"N©r   r6   é   r   ú`x` must have real dtype.©ÚmatchTFù      ð?      ð?r6   z"`p` must have real floating dtype.r   r   z`weights` must have real dtype.)Úweightsú"`axis` must be an integer or None.rE   ©r   rD   ú7`axis` is not compatible with the shapes of the inputs.úThe input contains nan valuesÚraise©r0   z`method` must be one of...úa duckr   z4`method='harrell-davis'` does not support `weights`.r   ©rU   r   z4`method='round_nearest'` does not support `weights`.r9   ú/If specified, `keepdims` must be True or False.é*   ©rJ   zD`keepdims` may be False only if the length of `p` along `axis` is 1.ç333333ã?)
r-   ÚpytestÚraisesÚ
ValueErrorr   r,   ÚastypeÚ	complex64r   r/   )ÚselfÚxpr   r   Úmessages        r3   Útest_input_validationz"TestQuantile.test_input_validationN   sx  € Ø�J‰J’yÓ!ˆØ�J‰J�s‹Oˆà-ˆÜ�]‰]œ:¨WÔ5ñ 	9Ü�N‰N˜2Ÿ:™: t¨U mÓ4°aÔ8÷	9ä�]‰]œ:Ó&ñ 	5Ü�N‰N˜2Ÿ:™: t¨Q iÓ0°!Ô4÷	5ð 7ˆÜ�]‰]œ:¨WÔ5ñ 	2Ü�N‰N˜1˜bŸj™j¨!¨Q¨Ó0Ô1÷	2ð 4ˆÜ�]‰]œ:¨WÔ5ñ 	EÜ�N‰N˜1˜a¨¯©°1°b·l±lÓ)CÕD÷	Eð 7ˆÜ�]‰]œ:¨WÔ5ñ 	+Ü�N‰N˜1˜a cÕ*÷	+ä�]‰]œ:¨WÔ5ñ 	/Ü�N‰N˜1˜a gÕ.÷	/ð LˆÜ�]‰]œ:¨WÔ5ñ 	)Ü�N‰N˜1˜a aÕ(÷	)ô �bŒzØ5ˆGÜ—‘œz°Ô9ñ RÜ—‘˜rŸz™z¨2¯6©6°1°a¨.Ó9¸1ÈÕQ÷Rð /ˆÜ�]‰]œ:¨WÔ5ñ 	2Ü�N‰N˜1˜a¨Õ1÷	2ð IˆÜ�]‰]œ:¨WÔ5ñ 	DÜ�N‰N˜1˜a¨°?ÕC÷	Dð IˆÜ�]‰]œ:¨WÔ5ñ 	DÜ�N‰N˜1˜a¨°?ÕC÷	Dð DˆÜ�]‰]œ:¨WÔ5ñ 	.Ü�N‰N˜1˜a¨"Õ-÷	.ð YˆÜ�]‰]œ:¨WÔ5ñ 	FÜ�N‰N˜1˜bŸj™j¨#¨s¨Ó4¸uÕE÷	Fð 	F÷[	9ñ 	9ú÷	5ñ 	5ú÷	2ñ 	2ú÷	Eñ 	Eú÷	+ñ 	+ú÷	/ñ 	/ú÷	)ñ 	)ú÷
Rñ Rú÷	2ñ 	2ú÷	Dñ 	Dú÷	Dñ 	Dú÷	.ð 	.ú÷	Fð 	Fúsœ   Á(OÂ(OÃ(O!Ä%3O.Å=O;Æ9PÇ7PÉ 5P"ÊP/ËP<ÌQ	ÍQÎ*Q"ÏOÏOÏ!O+Ï.O8Ï;PÐPÐPÐ"P,Ð/P9Ð<QÑ	QÑQÑ"Q+c                 óÔ  — t        j                  ||d«      }|j                  }t        j                  |«      }|j	                  d|j
                  d   t         j                  ¬«      }g }g }|D ]I  }|j                  |«      }	|j                  t        j                  ||	«      «       |j                  |	«       ŒK t        j                  |«      t        j                  |«      }}|dk  r.t        j                  |d¬«      t        j                  |d¬«      }}t        j                  |d|«      t        j                  |d|«      }}t        j                  ||j                  ¬«      }||fS )NrD   é
   )r$   Údtyper6   r   rE   ©rm   )r!   ÚswapaxesÚndimÚ
atleast_2dÚintegersÚshapeÚint32ÚpermutedÚappendÚrepeatÚstackrI   r-   rm   )
rg   r   rF   Úrngrp   ÚcountsÚx_reprU   Úx_Úcounts_s
             r3   Ú_get_weights_x_repzTestQuantile._get_weights_x_rep„   s  € Ü�K‰K˜˜4 Ó$ˆØ�v‰vˆÜ�M‰M˜!ÓˆØ—‘˜b q§w¡w¨r¡{¼"¿(¹(�ÓCˆØˆØˆØò 	$ˆBØ—l‘l 6Ó*ˆGØ�L‰LœŸ™ 2 wÓ/Ô0Ø�N‰N˜7Õ#ð	$ô Ÿ™ %›¬"¯(©(°7Ó*;ˆwˆØ�!Š8ÜŸZ™Z¨°AÔ6¼¿
¹
À7ÐQRÔ8S�7ˆEÜŸ™ U¨B°Ó5´r·{±{À7ÈBÐPTÓ7UˆwˆÜ—*‘*˜W¨A¯G©GÔ4ˆØ˜ˆ~Ðr5   TzPyTorch doesn't have `betainc`.Úcupy)Úcpu_onlyÚreasonÚ
exceptionsr   )Úinverted_cdfÚaveraged_inverted_cdfÚclosest_observationÚhazenÚinterpolated_inverted_cdfÚlinearÚmedian_unbiasedÚnormal_unbiasedÚweibullr   r9   r:   r;   Ú_lowerÚ_higherÚ	_midpointÚ_nearestzshape_x, shape_p, axis))rl   NrD   )rl   rl   rD   )rl   )r6   rP   rD   ))rl   r6   Nr   rU   Fc           	      ó�  — |r<|j                  d«      s|j                  d«      s|dk(  rt        j                  d«       t        |«      }t        j
                  j                  d«      }|j                  |¬«      }	|j                  |¬«      }
|r| j                  |	||«      \  }}nd |	}}t        ||
|j                  d«      r|dd  n||d|d u¬	«      }|j                  |	|¬
«      |j                  |
|¬
«      }
}	|€|n|j                  ||¬
«      }t        j                  |	|
|||¬«      }t        ||j                  ||¬
«      «       y )NÚ_r   r   z4`weights` not supported by private (legacy) methods.ì   ìlv_š©r$   r   r    )r   rF   r0   rJ   rn   )r   rU   rF   )r)   rb   Úskipr   r!   ÚrandomÚdefault_rngr~   rK   r-   r   r,   r   )rg   r   Úshape_xÚshape_prF   rU   rh   rm   ry   r   r   r{   Úrefr2   s                 r3   Útest_against_referencez#TestQuantile.test_against_reference—   s6  € ñ ˜×)Ñ)¨#Ô.°&×2CÑ2CÀGÔ2LØ! ?Ò2Ü�K‰KÐNÔOÜ  Ó$ˆÜ�i‰i×#Ñ#Ð$5Ó6ˆØ�J‰J˜GˆJÓ$ˆØ�J‰J˜GˆJÓ$ˆáØ!×4Ñ4°Q¸¸cÓB‰NˆG‘Uà! 1�UˆGä Ø�1¨6×+<Ñ+<¸SÔ+A˜V A B™ZÀvØ +¸ÀtÐ8KôMˆð �z‰z˜! 5ˆzÓ)¨2¯:©:°a¸u¨:Ó+Eˆ1ˆØ$˜_‘'°"·*±*¸WÈE°*Ó2RˆÜ�n‰n˜Q ¨&¸'ÈÔMˆä˜˜RŸZ™Z¨°5˜ZÓ9Õ:r5   ú%ignore:torch.searchsorted:UserWarningú	jax.numpyrF   r   r   rJ   r0   )r   r    Úmarrayrm   Úfloat32Úfloat64)rˆ   r   r9   c                 ó†  — t        |«      r|dk(  rt        j                  d«       |r|dv rt        j                  d«       t        j                  j                  d«      }d}	|j	                  |	¬«      j                  |«      }
|j	                  |	¬«      j                  |«      }|j	                  |	¬«      dkD  }t        j                  |«      sJ ‚t        j                  |
|<   |st        j                  ||d	¬
«      }t        |«      r|j                  «       }d|d<   d|d<   t        ||«      }|r,| j                  |
||«      \  }}|€|n|j                  |«      }nd |
}}|dk(  rít        st        j                  d«       |�t        j                  d«       t        j                   d«      }t#        |||¬«      }|j%                  |«      }|j                  |
|¬«      }|€|n|j                  |«      }t'        j(                  ||j                  |«      fd|i|¤Ž}t+        ||fddi|¤Ž}t-        |j.                  |j                  ||¬«      «       y t#        ||||¬«      }t'        j(                  |j                  |
«      |j                  |«      fd|i|¤Ž}t+        ||fi |¤Ž}t-        ||j                  ||¬«      «       y )Nr�   ú(`marray` currently incompatible with JAX>   r9   r   z'These methods don't yet support weightsr’   ©é   é   r“   çš™™™™™é?T©rF   rJ   ç        r   ç      ð?éþÿÿÿú-MArray is only available if SCIPY_ARRAY_API=1z)MArray is not yet compatible with weights©rF   rJ   r   ©ÚmaskrU   r0   r   rn   ©rF   rJ   r0   r   )r   rb   r”   r!   r•   r–   re   r.   r/   Úmeanr	   ÚravelÚgetattrr~   r-   r   ÚimportorskipÚdictÚ_get_namespacer   r,   rK   r   r(   )rg   rF   rJ   r0   rm   r   rU   rh   ry   rs   r   r   r­   Úp0r{   r�   ÚkwargsÚmxpÚx_mpr2   r™   s                        r3   Útest_against_reference_2z%TestQuantile.test_against_reference_2»   sr  € ô �"Œ:˜*¨Ò0Ü�K‰KÐBÔCÙ�vÐ!CÑCÜ�K‰KÐAÔBÜ�i‰i×#Ñ#Ð$5Ó6ˆØˆØ�J‰J˜EˆJÓ"×)Ñ)¨%Ó0ˆØ�J‰J˜EˆJÓ"×)Ñ)¨%Ó0ˆØ�z‰z˜uˆzÓ%¨Ñ+ˆÜ�v‰v�dŒ|Ðˆ|Ü—&‘&ˆˆ$‰ÙÜ—‘˜ ¨tÔ4ˆAô
 �BŒ<Ø—‘“ˆBØˆBˆq‰EØˆBˆr‰Fä˜˜EÓ"ˆáØ!×4Ñ4°Q¸¸cÓB‰NˆG�UØ!( ‘g°b·j±jÀÓ6I‰Gà! 1�UˆGà˜Ò!Ý"Ü—‘ÐKÔLØÐ"Ü—‘ÐGÔHÜ×(Ñ(¨Ó2ˆFÜ˜t¨h¸vÔFˆFØ×'Ñ'¨Ó+ˆCØ—;‘;˜q t�;Ó,ˆDØ!( ‘g°c·k±kÀ'Ó6JˆGÜ—.‘.  s§{¡{°1£~ÑQ¸wÐQÈ&ÑQˆCÜ$ U¨AÑK¸&ÐKÀFÑKˆCÜ˜CŸH™H b§j¡j°¸E jÓ&BÔCØä˜4¨(Ø!+°Fô<ˆä�n‰n˜RŸZ™Z¨›]¨B¯J©J°q«MÑUÀ7ÐUÈfÑUˆÜ  ¨Ñ4¨VÑ4ˆÜ˜˜RŸZ™Z¨°5˜ZÓ9Õ:r5   c                 óš   — t        j                  |j                  d|j                  ¬«      d«      }|j                  t        |«      k(  sJ ‚y )Nrl   rn   r   )r   r,   ÚarangeÚint64rm   r   )rg   rh   r2   s      r3   Útest_integer_input_output_dtypez,TestQuantile.test_integer_input_output_dtypeú   s;   € Ü�n‰n˜RŸY™Y r°·±˜YÓ:¸CÓ@ˆØ�y‰yÔ,¨RÓ0Ò0Ð0Ñ0r5   zx, p, ref, kwargsr   rO   rD   g      ø?rP   r6   r   ©r   r¦   ©r   r   ra   é   ©rP   rP   rP   ç      ,@Né   ©ç      Ð?r   ç      è?©g      ü?ç      @g      
@c                 óÊ   — t        |«      }|j                  |«      |j                  |«      |j                  ||¬«      }}}t        j                  ||fi |¤Ž}t	        ||«       y )Nrn   )r   r-   r   r,   r   )rg   r   r   r™   r¶   rh   Údefault_dtyper2   s           r3   Útest_edge_caseszTestQuantile.test_edge_casesþ   sW   € ô$ )¨Ó,ˆØ—J‘J˜q“M 2§:¡:¨a£=°"·*±*¸SÈ°*Ó2Vˆcˆ1ˆÜ�n‰n˜Q Ñ, VÑ,ˆÜ˜˜SÕ!r5   )r   r   r6   c                 óô   — g d¢}|j                  «       }|rd||<   n|j                  |«       t        j                  |j	                  t        |«      «      d||¬«      }|j                  t        |«      k(  sJ ‚y )N)rP   rÃ   r   r   r   r¦   )r#   Úpopr   r,   ÚzerosÚtuplers   )rg   rF   rJ   rh   rs   Ú	out_shaper2   s          r3   Útest_size_0zTestQuantile.test_size_0  sd   € ò ˆØ—J‘J“Lˆ	ÙØˆI�dŠOà�M‰M˜$ÔÜ�n‰n˜RŸX™X¤e¨E£lÓ3°S¸tÈhÔWˆØ�y‰yœE )Ó,Ò,Ð,Ñ,r5   )rƒ   r„   r…   rŒ   r�   rŽ   r�   c                 óì  — |dk(  r(t         j                  dk  rt        j                  d«       t        j                  dt         j
                  ¬«      }t        j                  ddd«      }t        j                  |j                  |«      |j                  |«      |¬	«      }t        j                  |||j                  d
«      r|dd  n|¬	«      }t        ||j                  ||j
                  ¬«      «       y )Nr…   z2.0.1z5Bug in np.quantile (numpy/numpy#26656) fixed in 2.0.1ç       @rn   r   g     €ð?g       ?r   r‘   r   )r!   Ú__version__rb   r”   r»   rŸ   r   r,   r-   r)   r   )rg   r   rh   r   r   r2   r™   s          r3   Útest_transitionzTestQuantile.test_transition!  s°   € ð Ð*Ò*¬r¯~©~ÀÒ/GÜ�K‰KÐOÔPÜ�I‰I�b¤§
¡
Ô+ˆÜ�I‰I�a˜ 'Ó*ˆÜ�n‰n˜RŸZ™Z¨›]¨B¯J©J°q«MÀ&ÔIˆÜ�k‰k˜!˜Q°V×5FÑ5FÀsÔ5K v¨a¨b¡zÐQWÔXˆÜ˜˜RŸZ™Z¨°2·:±:˜ZÓ>Õ?r5   Úzero_weightsc           	      óL  — t        |«      r&|j                  dk  r|rt        j                  d«       t	        |«      }t
        j                  j                  d«      }d}|j                  d¬«      }|j                  d¬«      }|rd||dk  <   t        j                  d	d
d«      }t        j                  |j                  ||¬«      |j                  ||¬«      ||j                  ||¬«      ¬«      }	t        j                  ||||¬«      }
t        |	|j                  |
|¬«      «       y )Nz2.1.3z6`Bug in np.quantile (numpy/numpy#27563) fixed in 2.1.3ì   ¢z-\"}	rƒ   éd   r“   r   r   r§   r¨   i,  rn   )r   rU   )r	   rÔ   rb   r”   r   r!   r•   r–   Úlinspacer   r,   r-   r   )rg   rÖ   rh   rm   ry   r   r   rU   r   r2   r™   s              r3   Útest_weights_against_numpyz'TestQuantile.test_weights_against_numpy/  sô   € ä�BŒ<˜BŸN™N¨WÒ4¹Ü�K‰KÐPÔQÜ  Ó$ˆÜ�i‰i×#Ñ#Ð$5Ó6ˆØˆØ�J‰J˜CˆJÓ ˆØ—*‘* #�*Ó&ˆÙØ%&ˆG�G˜c‘MÑ"Ü�K‰K˜˜B Ó$ˆÜ�n‰n˜RŸZ™Z¨°˜ZÓ7¸¿¹ÀAÈU¸Ó9SØ$*°B·J±J¸wÈe°JÓ4TôVˆä�k‰k˜!˜Q v°wÔ?ˆÜ˜˜RŸZ™Z¨°5˜ZÓ9Õ:r5   )	rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   c                 óV  — t         j                  j                  d«      }d}|j                  |j                  |¬«      «      }t	        |«      }|j                  |j                  |¬«      «      }|j                  |j                  |¬«      dk  «      }|j                  |j                  |¬«      «      }	|j                  |d|	«      }	t        j                  |||	|¬«      }
t        j                  ||    ||	|    |¬«      }t        |
|«       t        ||«       d}|j                  |j                  |¬«      «      }t	        |«      }|j                  |j                  |¬«      «      }|j                  |j                  |¬«      dk  «      }|j                  |j                  |¬«      «      }	|j                  ||j                  |«      }|j                  |d|	«      }t        j                  ||||d¬	«      }
t        j                  |||	d
|d¬«      }t        |
|«       t        ||«       y )NrØ   rÙ   r“   çš™™™™™¹?r§   r]   )r£   rÙ   rD   )rU   r   rF   r   )rU   r0   r   rF   )r!   r•   r–   r-   r   Úwherer   r,   r   r   r/   )rg   r   rh   ry   rA   r   Úx0r   Úi_zerorU   r2   r™   rs   Úx_nannedÚweights_zeroeds                  r3   Útest_zero_weightszTestQuantile.test_zero_weights@  sÔ  € ô
 �i‰i×#Ñ#Ð$5Ó6ˆð ˆØ�J‰J�s—z‘z q�zÓ)Ó*ˆÜ�Q‹ZˆØ�J‰J�s—z‘z q�zÓ)Ó*ˆØ—‘˜CŸJ™J¨A˜JÓ.°Ñ4Ó5ˆØ—*‘*˜SŸZ™Z¨Q˜ZÓ/Ó0ˆØ—(‘(˜6 2 wÓ/ˆÜ�n‰n˜Q ¨7¸6ÔBˆÜ�n‰n˜Q ˜w™Z¨°G¸V¸GÑ4DÈVÔTˆÜ˜˜SÔ!Ü˜˜2Ôð ˆØ�J‰J�s—z‘z u�zÓ-Ó.ˆÜ�Q‹ZˆØ�J‰J�s—z‘z u�zÓ-Ó.ˆØ—‘˜CŸJ™J¨E˜JÓ2°SÑ8Ó9ˆØ—*‘*˜SŸZ™Z¨U˜ZÓ3Ó4ˆØ—8‘8˜F B§F¡F¨AÓ.ˆØŸ™ &¨"¨gÓ6ˆÜ�n‰n˜Q ¨>À&ÈrÔRˆÜ�n‰n˜X q°'Ø(.°vÀBôHˆä˜˜SÔ!Ü˜˜2Õr5   rs   é2   )rä   rP   c                 ób  — t         j                  j                  d«      }|j                  |j                  |¬«      «      }|j                  |j                  |¬«      «      }|j	                  |«      }t        j                  ||||¬«      }t        j                  |||¬«      }	t        ||	«       y )Nl   ¢.ý,+r“   r]   r   )r!   r•   r–   r-   Ú	ones_liker   r,   r   )
rg   r   rs   rh   ry   r   r   rU   r2   r™   s
             r3   Útest_unity_weightszTestQuantile.test_unity_weightsc  sˆ   € ô �i‰i×#Ñ#Ð$5Ó6ˆØ�J‰J�s—z‘z u�zÓ-Ó.ˆØ�J‰J�s—z‘z u�zÓ-Ó.ˆØ—,‘,˜q“/ˆÜ�n‰n˜Q ¨7¸6ÔBˆÜ�n‰n˜Q ¨&Ô1ˆÜ˜˜SÕ!r5   c                 ó¼  — t        dd¬«      }|j                  |j                  |j                  |j                  g|j                  ddgg«      }t        j                  |dfi |¤ddi¤Ž}t        ||j                  |j                  d	g«      «       t        j                  |dfi |¤dd
i¤Ž}t        ||j                  |j                  |j                  g«      «       y )Nr   rD   ©r   rF   r6   rP   r   r0   r   rÈ   r    )r³   r-   r/   r   r,   r   )rg   rh   r¶   r   r2   s        r3   Ú"test_all_nan_harrell_davis_gh24707z/TestQuantile.test_all_nan_harrell_davis_gh24707s  s¯   € ô ˜_°2Ô6ˆØ�J‰J˜Ÿ™ §¡¨¯©Ð0°2·6±6¸1¸a°.ÐAÓBˆä�n‰n˜Q ÑA vÑA¸&ÒAˆÜ˜˜RŸZ™Z¨¯©°¨Ó6Ô7ä�n‰n˜Q ÑF vÑF¸+ÒFˆÜ˜˜RŸZ™Z¨¯©°·±Ð(8Ó9Õ:r5   )Ú__name__Ú
__module__Ú__qualname__rj   r~   Úskip_xp_backendsrb   ÚmarkÚparametrizerš   Úfilterwarningsr¹   r½   r!   r/   ÚfullrÎ   r»   ÚreshaperË   rÑ   rÕ   rÛ   rã   rç   rê   © r5   r3   rM   rM   K   s?  „ ò3Fòlñ& ˜tÐ,MØ"( ô+à‡[�[×Ñ˜Xò
8ó9ð ‡[�[×ÑÐ5ÚLóNà‡[�[×Ñ˜Y¨°¨Ó6ñ;ó 7óNó9ó+ð;ð2 ‡[�[×ÑÐ GÓHÙ˜tÐ,MØ"(¨+Ð!6ô8à‡[�[×Ñ˜V a¨ VÓ,Ø‡[�[×Ñ˜Z¨%°¨Ó7Ø‡[�[×Ñ˜\Ò+JÓKØ‡[�[×Ñ˜W y°)Ð&<Ó=Ø‡[�[×Ñ˜XÒ'SÓTØ‡[�[×Ñ˜Y¨°¨Ó6ñ4;ó 7ó Uó >ó Ló 8ó -ó8ó Ið4;òl1ð ‡[�[×ÑÐ0Ø
ˆc�2—6‘6˜2Ð	Ú
�b˜!˜Q  R§V¡VÐ,¨r¯v©v°q¸!¸R¿V¹VÀRÇVÁVÐ.LÈbÐ	QÚ
�R˜˜RÐ	 Ø�F‰F�Aˆ;ˆ-˜˜rŸv™v q˜k¨L¸&Ð+AÐ	BØˆrˆ(�C˜˜Ÿ™  B§F¡FÓ+¨f°b¨\Ð	:Øˆrˆ(�C˜˜Ÿ™ $›°!ÀÑ)GÐ	HØˆrˆ(�C˜˜Ÿ™ &Ó)°AÀ4Ñ+HÐ	IØ
ˆs�Cˆj˜'˜"Ÿ'™' ! R§V¡VÓ,¨bÐ	1Ø
ˆ"�)‰)�A�rÓ
×
"Ñ
" 9Ó
-¨s°s°e°W°IØ TÑ
*ð
,àˆqˆ6�A�q�6Ð
Ò-Ò0AÐ/BØ TÑ
*ð
,ð	óñ""ó#ð""ð ‡[�[×Ñ˜V¢YÓ/Ø‡[�[×Ñ˜Z¨%°¨Ó7ñ-ó 8ó 0ð-ð ‡[�[×Ñ˜Xò	7ó8ñ	@ó8ð	@ð ‡[�[×Ñ˜^¨e°T¨]Ó;ñ;ó <ð;ð  ‡[�[×Ñ˜Xò	óñó	ðð> ‡[�[×ÑÐ GÓHØ‡[�[×Ñ˜Xò	óð ‡[�[×Ñ˜W r¨7 mÓ4ñ"ó 5ó	ó Ið"ñ ˜tÐ,MØ"(¨+Ð!6ô8ñ;ó8ñ;r5   rM   )Úar   )Úvr   c                 ó2   — t        j                  | ||¬«      S )N©Úside)r!   Úsearchsorted)rõ   rö   rù   s      r3   Únp_searchsortedrû   †  s   € ä�?‰?˜1˜a dÔ+Ð+r5   c            	       ó\  — e Zd Zej                  j                  dddg«      ej                  j                  dddg«      ej                  j                  dg d¢«      ej                  j                  d	ddg«      ej                  j                  d
ddg«      d„ «       «       «       «       «       Zy)ÚTest_XPSearchsortedrù   ÚleftÚrightÚtiesFTrs   )r   r   r6   rl   é   iè  i'  )r6   r   )r   r6   ©r6   rl   ©r6   rP   r  Únans_xÚinfs_xc                 ó>  — |r t        |«      rt        j                  d«       t        j                  j                  d«      }|r|j                  d|¬«      }n|j	                  |«      }t        j                  |t        j                  ¬«      }t        j                  |t        j                  «      }	t        j                  |t        j                   «      }
t        j                  t        j                   t        j                  t        j                  g«      }t        j                  ||j                  d d dz   «      }|j                  t        j                  |
||	|fd¬«      d¬«      }|r'|j	                  |«      d	k  }t        j                  ||<   |rO|j	                  |«      d	k  }t        j                   ||<   |j	                  |«      d
kD  }t        j                  ||<   t        j                   |d¬«      }t        j                  |t        j"                  ¬«      t        j                  |t        j"                  ¬«      }}|j                  d«      j$                  }t'        |«      dk(  rS|j(                  dkD  rD|j                  d   dk7  r2|j+                  |j                  d d |j                  d   fz   |¬«      }n|j                  t-        |||¬«      |¬«      }|j                  |«      |j                  |«      }}t/        |||¬«      }t1        ||«       y )Nztorch sorts NaNs differentlyl   %Dègº óhr£   r“   rn   rD   )rP   rE   rÝ   gÍÌÌÌÌÌì?r   r   rø   )r
   rb   r”   r!   r•   r–   rr   r-   rž   Ú	nextafterÚinfr/   Úbroadcast_tors   ru   Úconcatenater+   rŸ   rm   r   rp   Úemptyrû   r   r   )rg   rù   r   rs   r  r  rh   ry   r   ÚxrÚxlr|   r@   r­   Úxp_default_intr™   r2   s                    r3   Útest_ndzTest_XPSearchsorted.test_nd�  sD  € ñ ”h˜r”lÜ�K‰KÐ6Ô7Ü�i‰i×#Ñ#Ð$6Ó7ˆÙØ—‘˜Q U�Ó+‰Aà—
‘
˜5Ó!ˆAä�J‰J�q¤§
¡
Ô+ˆÜ�\‰\˜!œRŸV™VÓ$ˆÜ�\‰\˜!œbŸf™f˜WÓ%ˆÜ�Z‰Zœ"Ÿ&™&˜¤"§&¡&¬"¯&©&Ð1Ó2ˆÜ�_‰_˜R §¡¨¨" °Ñ!4Ó5ˆØ�L‰LœŸ™¨¨Q°°B¨¸bÔAÈˆLÓKˆÙØ—:‘:˜eÓ$ sÑ*ˆDÜ—f‘fˆAˆd‰GÙØ—:‘:˜eÓ$ sÑ*ˆDÜ—v‘v�gˆAˆd‰GØ—:‘:˜eÓ$ sÑ*ˆDÜ—f‘fˆAˆd‰GÜ�G‰G�A˜BÔˆÜ�z‰z˜!¤2§:¡:Ô.´·
±
¸1ÄBÇJÁJÔ0Oˆ1ˆØŸ™ A›×,Ñ,ˆÜ�1‹:˜Š?˜qŸv™v¨šz¨a¯g©g°b©k¸QÒ.>Ø—(‘(˜1Ÿ7™7 3 B˜<¨1¯7©7°2©;¨.Ñ8À�(ÓO‰Cà—*‘*œ_¨Q°¸Ô=À^�*ÓTˆCØ�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ˜q !¨$Ô/ˆÜ˜˜SÕ!r5   N)rë   rì   rí   rb   rï   rð   r  rô   r5   r3   rý   rý   ‹  s¢   „ à‡[�[×Ñ˜V f¨gÐ%6Ó7Ø‡[�[×Ñ˜V e¨T ]Ó3Ø‡[�[×Ñ˜Wò 'Ló Mà‡[�[×Ñ˜X¨¨t }Ó5Ø‡[�[×Ñ˜X¨¨t }Ó5ñ "ó 6ó 6óMó 4ó 8ñ "r5   rý   )r@   r   c                 óð   — t        j                  | «      }|dk(  r9t        j                  |«      r$t        j                  |t         j                  «      S |dk(  r| |    } t        j                  | |d|¬«      S )Nr    r   T)rJ   r   )r!   r"   r.   r%   r/   r   Úestimated_cdf)r   r@   r0   r   Úi_nans        r3   Ú!estimated_cdf_reference_last_axisr  ¶  s`   € ä�H‰H�Q‹K€EØ�[Ò ¤R§V¡V¨E¤]Ü�|‰|˜AœrŸv™vÓ&Ð&Ø	�vÒ	Øˆuˆf‰IˆÜ×Ñ˜q !¨d¸6ÔBÐBr5   r    rˆ   )rF   r0   rJ   r   c                ó  — t        | |f|¬«      \  } }t        j                  | |d«      t        j                  ||d«      }} t        | |||«      }t        j                  |d|«      }|st        j                  ||¬«      }|S )NrE   rD   )r   r!   rG   r  rI   )r   r@   rF   r0   rJ   r   r2   s          r3   Úestimated_cdf_referencer  À  ss   € ä˜a ˜V¨$Ô/�D€A€qÜ�;‰;�q˜$ Ó#¤R§[¡[°°D¸"Ó%=€q€AÜ
+¨A¨q°*¸fÓ
E€CÜ
�+‰+�c˜2˜tÓ
$€CÙÜ�j‰j˜ 4Ô(ˆØ€Jr5   c                   óˆ	  — e Zd Zd„ Zej
                  j                  de«      ej
                  j                  dg d¢«      ej
                  j                  dddg«      ej
                  j                  dd	d
g«      d„ «       «       «       «       Zej
                  j                  d«      ej
                  j                  dddg«      ej
                  j                  dd	d
g«      ej
                  j                  dg d¢«      ej
                  j                  dddg«      ej
                  j                  dd	d
g«      ej
                  j                  dddg«      d„ «       «       «       «       «       «       «       Z
ej
                  j                  dd¬«      ej
                  j                  ddd g«      ej
                  j                  d! ej                  «       «      d"„ «       «       «       Zej
                  j                  dd	d
g«      d#„ «       Zd$„ Zej
                  j                  dg d¢«      ej
                  j                  de«      d%„ «       «       Zej
                  j                  dd&d'g«      ej
                  j                  de«      d(„ «       «       Zej
                  j                  d)g d*ej(                  i fg d+¢d,d-ej(                  gd.d/ej(                  gi fg d+¢g g i fej(                  d0ggd0ej(                  d*gd'd1d2œfg g gd* ej*                  d0ej(                  «      dd3ifg g gd* ej,                  d4«      dd	d5œfg g gd* ej,                  d6«      dd
d5œfg d*d7g ej*                  d0ej(                  «      i f ej.                  dd8«      j1                  d9«      d:d*gggdd
d5œfdd0gd;d<ggg d=¢g d>¢gdd
d5œfg d+¢ej2                   ej2                  gd.d/gi fej2                   d3ddej2                  gej2                   d?d3ddd0ej2                  gd@d@d@d*dAdAej(                  gddifej2                   d3ddej2                  gej2                   d?d3ddd0ej2                  gg dB¢ddifg«      dC„ «       Zej
                  j                  dDdE¬«      ej
                  j                  d ej8                  «       «      dF„ «       «       Zy)GÚTestEstimatedCDFc                 óà  — |j                  g d¢«      }|j                  d«      }d}t        j                  t        |¬«      5  t	        j
                  |j                  ddg«      |«       d d d «       t        j                  t        «      5  t	        j
                  |j                  ddg«      |«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||j                  d	d
g«      «       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       t        |«      sZd}t        j                  t        |¬«      5  t	        j
                  |j                  |j                  d
dg«      |d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||d¬«       d d d «       d}t        j                  t        |¬«      5  t	        j
                  ||j                  ddg«      d¬«       d d d «       y # 1 sw Y   �Œ‰xY w# 1 sw Y   �ŒMxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒÜxY w# 1 sw Y   �Œ­xY w# 1 sw Y   �Œ|xY w# 1 sw Y   �Œ$xY w# 1 sw Y   ŒòxY w# 1 sw Y   ŒÀxY w# 1 sw Y   y xY w)NrO   r6   rQ   rR   TFrT   z`y` must have real dtype.y              ð?r   rV   r   rE   rW   rX   rY   rZ   r[   zmethod` must be one of...r\   r   r^   r_   r`   zD`keepdims` may be False only if the length of `y` along `axis` is 1.ra   )r-   rb   rc   rd   r   r  r   r/   )rg   rh   r   r@   ri   s        r3   rj   z&TestEstimatedCDF.test_input_validationÑ  s½  € Ø�J‰J’yÓ!ˆØ�J‰J�q‹Mˆà-ˆÜ�]‰]œ:¨WÔ5ñ 	>Ü×Ñ §
¡
¨D°%¨=Ó 9¸1Ô=÷	>ä�]‰]œ:Ó&ñ 	:Ü×Ñ §
¡
¨D°!¨9Ó 5°qÔ9÷	:ð .ˆÜ�]‰]œ:¨WÔ5ñ 	:Ü×Ñ  2§:¡:¨t°Q¨iÓ#8Ô9÷	:ð 7ˆÜ�]‰]œ:¨WÔ5ñ 	0Ü×Ñ  1¨3Õ/÷	0ä�]‰]œ:¨WÔ5ñ 	4Ü×Ñ  1¨7Õ3÷	4ð LˆÜ�]‰]œ:¨WÔ5ñ 	.Ü×Ñ  1¨1Õ-÷	.ô �bŒzØ5ˆGÜ—‘œz°Ô9ñ WÜ×#Ñ# B§J¡J°·±¸¸1¨~Ó$>ÀÈgÕV÷Wð .ˆÜ�]‰]œ:¨WÔ5ñ 	7Ü×Ñ  1¨XÕ6÷	7ð DˆÜ�]‰]œ:¨WÔ5ñ 	3Ü×Ñ  1¨rÕ2÷	3ð YˆÜ�]‰]œ:¨WÔ5ñ 	KÜ×Ñ  2§:¡:¨s°C¨jÓ#9ÀEÕJ÷	Kð 	K÷C	>ñ 	>ú÷	:ñ 	:ú÷	:ñ 	:ú÷	0ñ 	0ú÷	4ñ 	4ú÷	.ñ 	.ú÷
Wñ Wú÷	7ð 	7ú÷	3ð 	3ú÷	Kð 	Kúsx   Á(K1Â(K>Ã(LÄ%LÅ!L%ÆL2Ç(5L?ÉMÊ MÊ>*M$Ë1K;Ë>LÌLÌL"Ì%L/Ì2L<Ì?M	ÍMÍM!Í$M-r   Úx_shape)r6   rl   r  rÙ   ié  r  r  Úy_shapeNé   r   FTc                 óî  — |t         v }t        |«      }t        j                  j	                  d«      }|€|n|}|r%|j                  |j                  d|¬«      |¬«      }	n#|j                  |j                  |¬«      |¬«      }	|j                  |j                  |¬«      |¬«      }
t        j                  |	|
|d¬«      }t        j                  |	||d¬«      }|j                  |
g |	j                  d d ¢|j                  d   ‘­«      }|r|dz
  n|}t        j                  |	||d¬«      }||j                  k(  rdnd	}t        |||¬
«       |s|ry t        |   \  }}|	j                  d   }d|z
  |dz   |z
  |z
  z  }||z
  |dz   |z
  |z
  z  }||j!                  |	dd¬«      k  }||j#                  |	dd¬«      kD  }||k  | z  }||k\  | z  }||z  |z  |z   }t        ||   ||   «       t%        ddd¬«      }t        ||   |j                  |«      fi |¤Ž t        ||   |j                  |«      fi |¤Ž t        ||   |j                  d«      fi |¤Ž t        ||   |j                  d«      fi |¤Ž y )Nl   �S9UPÍ+é	   r“   rn   rD   ré   g�íµ ÷Æ°>gñhãˆµøä>gê-�™—q=)Úatolr   Tr¦   F)Úcheck_shapeÚcheck_dtypeÚcheck_0dr§   r¨   )r   r   r!   r•   r–   r-   rr   Ústandard_normalr   r,   r  r	  rs   rž   r   r   ÚminÚmaxr³   )rg   r   r  r  r   rh   Údiscontinuousrm   ry   r   r   r@   r2   r™   Úy2r  rõ   ÚbrA   Úp_minÚp_maxÚ
i_very_lowÚi_very_highÚi_lowÚi_highÚi_okr¶   s                              r3   Útest_against_quantilez&TestEstimatedCDF.test_against_quantileú  s†  € ð
 Ô"FÐFˆÜ  Ó$ˆÜ�i‰i×#Ñ#Ð$6Ó7ˆØ$˜_‘'°'ˆáØ—
‘
˜3Ÿ<™<¨°˜<Ó8À�
ÓF‰Aà—
‘
˜3×.Ñ.°GÐ.Ó<ÀE�
ÓJˆAà�J‰J�s—z‘z w�zÓ/°uˆJÓ=ˆÜ�N‰N˜1˜a¨°RÔ8ˆÜ×!Ñ! ! Q¨v¸BÔ?ˆØ�o‰o˜aÐ!= 1§7¡7¨3¨B <Ð!=°·±¸±Ñ!=Ó>ˆñ *ˆc�DŠj¨sˆÜ�^‰^˜A˜s¨6¸Ô;ˆØ §
¡
Ò*‰t°ˆÜ˜˜A DÕ)ñ ‘=Øô 1°Ñ8‰ˆˆ1Ø�G‰G�B‰KˆØ�Q‘˜1˜q™5 1™9 q™=Ñ)ˆØ�Q‘˜1˜q™5 1™9 q™=Ñ)ˆØ˜Ÿ™ ¨°T˜Ó:Ñ:ˆ
Ø˜"Ÿ&™& ¨°d˜&Ó;Ñ;ˆØ˜‘ * Ñ,ˆØ˜‘, ; ,Ñ.ˆØ˜‘ *Ñ,¨{Ñ:Ð;ˆô 	˜˜D™	 3 t¡9Ô-ô  %°UÀTÔJˆÜ˜˜E™
 B§J¡J¨uÓ$5Ñ@¸Ò@Ü˜˜F™ R§Z¡Z°Ó%6ÑA¸&ÒAÜ˜˜J™¨¯©°C«ÑC¸FÒCÜ˜˜KÑ(¨"¯*©*°S«/ÑD¸VÓDr5   r›   rF   r   r   rJ   r0   )r    r   r�   rm   rž   rŸ   ÚnansÚmethrˆ   rƒ   c                 óJ  — t        |«      r|dk(  rt        j                  d«       t        j                  j                  d«      }d}	|j                  |	¬«      j                  |«      }
|j                  |	¬«      j                  |«      }d }|r?|j	                  |	¬«      dkD  }t        j                  |«      sJ ‚t        j                  |
|<   |st        j                  ||d¬«      }t        ||«      }|dk(  r¿t        st        j                  d	«       t        j                  d«      }t        |||¬
«      }|j                  |«      }|j!                  |
|¬«      }t#        j$                  ||j!                  |«      fi |¤Ž}t'        |
|fddi|¤Ž}t)        |j*                  |j!                  ||¬«      «       y t        ||||¬«      }t#        j$                  |j!                  |
«      |j!                  |«      fi |¤Ž}t'        |
|fi |¤Ž}t)        ||j!                  ||¬«      «       y )Nr�   r¡   r’   r¢   r“   r¥   Tr¦   rª   r«   r¬   r0   r   rn   r®   )r   rb   r”   r!   r•   r–   r"  re   r.   r/   r¯   r±   r   r²   r³   r´   r-   r   r  r  r   r(   )rg   rF   rJ   r0   rm   r0  r1  rh   ry   rs   r   r@   r­   r�   r¶   r·   r¸   r2   r™   s                      r3   rš   z'TestEstimatedCDF.test_against_reference1  sÝ  € ô �"Œ:˜*¨Ò0Ü�K‰KÐBÔCÜ�i‰i×#Ñ#Ð$5Ó6ˆØˆØ×Ñ UÐÓ+×2Ñ2°5Ó9ˆØ×Ñ UÐÓ+×2Ñ2°5Ó9ˆàˆÙØ—:‘: 5�:Ó)¨CÑ/ˆDÜ—6‘6˜$”<Ð�<Ü—f‘fˆAˆd‰GáÜ—‘˜ ¨tÔ4ˆAä˜˜EÓ"ˆà˜Ò!Ý"Ü—‘ÐKÔLÜ×(Ñ(¨Ó2ˆFÜ˜t¨h¸tÔDˆFØ×'Ñ'¨Ó+ˆCØ—;‘;˜q t�;Ó,ˆDÜ×%Ñ% d¨C¯K©K¸«NÑE¸fÑEˆCÜ)¨!¨QÑL¸6ÐLÀVÑLˆCÜ˜CŸH™H b§j¡j°¸E jÓ&BÔCØä˜4¨(Ø!+°Dô:ˆä×!Ñ! "§*¡*¨Q£-°·±¸A³ÑIÀ&ÑIˆÜ% a¨Ñ5¨fÑ5ˆÜ˜˜RŸZ™Z¨°5˜ZÓ9Õ:r5   Útorchzissues with sorting NaNs)r�   rA   rä   iô  z
method, abc                 óZ  — |\  }}t         j                  j                  d«      }|j                  |«      }|j                  |«      dk  }	t         j                  ||	<   |j                  |	«      }	t         j                  j                  |«      }
t        j                  j                  |
||«      }|j                  |j                  «      }|j                  |«      }t        j                  ||d|¬«      }t        ||	    ||	    «       |j                  |j                  ||	   «      «      sJ ‚y )Nl   \H¶|ˆä;rÝ   r   ©r0   r   )r!   r•   r–   r"  r/   r-   ÚmaÚmasked_invalidr   r&   Úplotting_positionsr(   r  r   Úallr"   )rg   rA   r   Úabrh   rõ   r'  ry   r   r­   Úx_maskedr™   r2   s                r3   Útest_plotting_positionsz(TestEstimatedCDF.test_plotting_positions]  sõ   € ð ‰ˆˆ1Ü�i‰i×#Ñ#Ð$6Ó7ˆØ×Ñ Ó"ˆà�z‰z˜!‹}˜sÑ"ˆÜ—&‘&ˆˆ$‰Ø�z‰z˜$Óˆä—5‘5×'Ñ'¨Ó*ˆÜ�l‰l×-Ñ-¨h¸¸1Ó=ˆØ�j‰j˜Ÿ™Ó"ˆà�J‰J�q‹MˆÜ×!Ñ! ! Q°6À&ÔIˆä˜˜T˜E™
 C¨¨¡JÔ/Ø�v‰v�b—h‘h˜s 4™yÓ)Ô*Ð*Ñ*r5   c                 ó€  — t         j                  j                  d«      }d}t        |«      }|r|j	                  d|¬«      n|j                  |¬«      }|r|j	                  dd¬«      n|j                  d¬«      }t        j                  |«      j                  j                  |«      }t        j                  ||d«      }	|j                  ||¬«      |j                  ||¬«      }}t        j                  ||d¬	«      }
|j                  ||¬«      |j                  |	|¬«      }	}t        |
|«       t        |
|	d
z  «       y )Nl   ¢mKæJÎ^rä   rl   r“   r  Úweakrn   rƒ   r   rÙ   )r!   r•   r–   r   rr   r"  r   ÚecdfÚcdfÚevaluateÚpercentileofscorer-   r  r   )rg   r   rh   ry   rA   rm   r   r@   r™   Úref2r2   s              r3   Ú#test_against_ecdf_percentileofscorez4TestEstimatedCDF.test_against_ecdf_percentileofscores  s  € ä�i‰i×#Ñ#Ð$6Ó7ˆØˆÜ  Ó$ˆÙ(,ˆC�L‰L˜ !ˆLÔ$°#×2EÑ2EÈ1Ð2EÓ2MˆÙ)-ˆC�L‰L˜ "ˆLÔ%°3×3FÑ3FÈBÐ3FÓ3OˆÜ�j‰j˜‹m×Ñ×(Ñ(¨Ó+ˆÜ×&Ñ& q¨!¨VÓ4ˆØ�z‰z˜! 5ˆzÓ)¨2¯:©:°a¸u¨:Ó+Eˆ1ˆÜ×!Ñ! ! Q¨~Ô>ˆØ—J‘J˜s¨%�JÓ0°"·*±*¸TÈ°*Ó2OˆTˆÜ˜˜SÔ!Ü˜˜T C™ZÕ(r5   c                 óž   — |j                  d|j                  ¬«      }t        j                  ||«      }|j                  t        |«      k(  sJ ‚y )Nrl   rn   )r»   r¼   r   r  rm   r   )rg   rh   r   r2   s       r3   r½   z0TestEstimatedCDF.test_integer_input_output_dtype‚  sB   € Ø�I‰I�b §¡ˆIÓ)ˆÜ×!Ñ! ! QÓ'ˆØ�y‰yÔ,¨RÓ0Ò0Ð0Ñ0r5   c                 ó2  — |t         v }|j                  d«      }|j                  g d¢«      }t        |«      rt	        j                  d«      n|j                  d«      }t	        j
                  dd¬«      5  |r|j                  g d¢«      }n8t        |   \  }	}
|j                  t        ||	z
  |dz   |	z
  |
z
  z  «      ddg«      }d d d «       |d	k(  r
|d d }d
d	i}nÌ|dk(  r6t        j                  |«      dd  j                  |j                  «      }d
di}n‘|dk(  rŒt        |«      rt        j                  d«       t        st        j                  d«       t        j                   d«      }|j#                  |«      }|dkD  }|j                  ||¬«      }|j                  |«      }i }t	        j
                  dd¬«      5  t%        j&                  ||fd|i¤Ž}d d d «       |dk(  rj(                  n}t+        |«       y # 1 sw Y   �Œ>xY w# 1 sw Y   Œ6xY w)Nç      $@©r§   g      ð¿r¨   r¨   Úignore©ÚdivideÚinvalid)r¨   r§   r¨   r   r§   r    r0   r   r�   ú(JAX currently incompatible with `marray`rª   r¬   r   )r   r»   r-   r   r!   Úerrstater   ÚfloatÚxpxÚatÚsetr/   r   rb   r”   r   r²   r´   r   r  r(   r   )rg   r0   r   rh   r%  r   r@   rA   r™   rõ   r'  r¶   r�   r·   r­   r2   s                   r3   Útest_size_one_samplez%TestEstimatedCDF.test_size_one_sample‡  sè  € ð Ô"FÐFˆØ�I‰I�c‹NˆØ�J‰J’}Ó%ˆÜ1°"Ô5ŒB�J‰J�rŒN¸2¿:¹:Àb»>ˆÜ�[‰[ °(Ô;ñ 	MÙØ—j‘j¢Ó.‘ä8¸Ñ@‘��1Ø—j‘j¤%¨¨Q©°1°q±5¸1±9¸q±=Ñ(AÓ"BÀBÈÐ!KÓL�÷	Mð ˜Ò$Ø�"�1�ˆAØ" KÐ0‰FØ˜6Ò!Ü—‘�q“	˜!˜"�×!Ñ! "§&¡&Ó)ˆAØ" FÐ+‰FØ˜8Ò#Ü�bŒzÜ—‘ÐFÔGÝ"Ü—‘ÐKÔLÜ×(Ñ(¨Ó2ˆFØ×'Ñ'¨Ó+ˆCØ˜‘FˆDØ—‘˜A D�Ó)ˆAØ—‘˜A“ˆAØˆFä�[‰[ °(Ô;ñ 	EÜ×%Ñ% a¨ÑD°6ÐD¸VÑDˆC÷	Eà$¨Ò0ˆc�hŠh°cˆÜ˜˜SÕ!÷9	Mñ 	Mú÷2	Eð 	Eús   Á5AH Æ>HÈ H
ÈHr    r   c                 ó"  — |j                  d«      }|j                  g d¢«      }|j                  ||j                  «      }|dk(  r
|dd }ddi}nÌ|dk(  r6t	        j
                  |«      d d  j                  |j                  «      }ddi}n‘|dk(  rŒt        st        j                  d«       t        |«      rt        j                  d	«       t        j                  d«      }|j                  |«      }	|d
k\  }
|	j                  ||
¬«      }|	j                  |«      }i }t        j                  dd¬«      5  t        j                   ||fd|i¤Ž}d d d «       |dk(  r|j#                  j$                  «      sJ ‚y t'        |«       y # 1 sw Y   Œ9xY w)NrG  rH  r    r   r0   r   r�   rª   rM  r§   r¬   rI  rJ  r   )r»   r-   r%   r/   rP  rQ  rR  r   rb   r”   r   r²   r´   r!   rN  r   r  r9  r­   r   )rg   r0   r   rh   r   r@   r™   r¶   r�   r·   r­   r2   s               r3   Útest_size_zero_samplez&TestEstimatedCDF.test_size_zero_sample­  sh  € ð �I‰I�c‹NˆØ�J‰J’}Ó%ˆØ�l‰l˜1˜bŸf™fÓ%ˆà˜Ò$Ø�!�A�ˆAØ" KÐ0‰FØ˜6Ò!Ü—‘�q“	™!�× Ñ  §¡Ó(ˆAØ" FÐ+‰FØ˜8Ò#Ý"Ü—‘ÐKÔLÜ�bŒzÜ—‘ÐFÔGÜ×(Ñ(¨Ó2ˆFØ×'Ñ'¨Ó+ˆCØ˜‘GˆDØ—‘˜A D�Ó)ˆAØ—‘˜A“ˆAØˆFä�[‰[ °(Ô;ñ 	EÜ×%Ñ% a¨ÑD°6ÐD¸VÑDˆC÷	Eð ˜Ò!Ø—6‘6˜#Ÿ(™(Ô#Ð#Ñ#ä˜C Õ%÷	Eð 	Eús   Ä3FÆFzx, y, ref, kwargsr   rO   g+‡ÙÎ÷ï?g5^ºI@r§   r¨   r6   r‹   r5  rD   r¾   r¦   r¿   ra   rÀ   rÁ   rÂ   rP   rÃ   rÇ   rÄ   r©   rÅ   rÆ   )çš™™™™™É?rV  gš™™™™™Ù?ra   r¥   r¥   r¨   c                 ó¢  — |j                  dd «      dk(  r t        |«      rt        j                  d«       |j                  dd «      dk(  r t	        |«      rt        j                  d«       t        |«      }|j                  |«      |j                  |«      |j                  ||¬«      }}}t        j                  ||fi |¤Ž}t        ||d¬	«       y )
Nr   r‹   zdata-apis/array-api-compat#360rF   rD   zFails; need to investigate.rn   gVçž¯Ò<)Úrtol)
Úgetr
   rb   r”   r   r   r-   r   r  r   )rg   r   r@   r™   r¶   rh   rÊ   r2   s           r3   rË   z TestEstimatedCDF.test_edge_casesÎ  s§   € ð> �:‰:�h Ó%¨Ò2´xÀ´|Ü�K‰KÐ8Ô9Ø�:‰:�f˜dÓ# rÒ)¬g°b¬kÜ�K‰KÐ5Ô6Ü(¨Ó,ˆØ—J‘J˜q“M 2§:¡:¨a£=°"·*±*¸SÈ°*Ó2Vˆcˆ1ˆÜ×!Ñ! ! QÑ1¨&Ñ1ˆÜ˜˜S uÖ-r5   rœ   z-1e-45 is not less than 0?c                 ó¢  — t        j                  dt         j                  ¬«      }t        j                  |t         j                   «      t        j                  |t         j                  «      }}|dk(  rdnd}|dz   |z   dz  }d|d	<   ||z   dz  }d|d
<   |j                  |«      |j                  |«      |j                  |«      }}}|j                  |«      |j                  |«      }}t        t        j                  |||¬«      |«       t        t        j                  |||¬«      |«       t        t        j                  |||¬«      |«       y )NrÓ   rn   r…   r   r§   r   é   r¨   rD   r   r   )	r!   r»   rŸ   r  r  r-   r   r   r  )	rg   r   rh   r   r  r  ÚoffsetÚref_rÚref_ls	            r3   rÕ   z TestEstimatedCDF.test_transitionö  s  € ô
 �I‰I�b¤§
¡
Ô+ˆÜ—‘˜a¤"§&¡& Ó)¬2¯<©<¸¼2¿6¹6Ó+BˆBˆØÐ"7Ò7‘¸SˆØ�Q‘˜‘ 1Ñ$ˆØˆˆb‰	Ø�V‘˜qÑ ˆØˆˆa‰Ø—J‘J˜q“M 2§:¡:¨b£>°2·:±:¸b³>ˆrˆ2ˆØ—z‘z %Ó(¨"¯*©*°UÓ*;ˆuˆÜœ×+Ñ+¨A¨q¸Ô@À%ÔHÜœ×+Ñ+¨A¨r¸&ÔAÀ5ÔIÜœ×+Ñ+¨A¨r¸&ÔAÀ5ÕIr5   )rë   rì   rí   rj   rb   rï   rð   Ú_estimated_cdf_methods_listr/  rñ   rš   rî   r   Úitemsr<  rD  r½   rS  rU  r!   r/   rò   rÎ   r»   ró   r  rË   r   ÚkeysrÕ   rô   r5   r3   r  r  Ï  sø  „ ò'KðR ‡[�[×Ñ˜XÐ'BÓCØ‡[�[×Ñ˜YÒ(SÓTØ‡[�[×Ñ˜Y¨¨r¨
Ó3Ø‡[�[×Ñ˜V e¨T ]Ó3ñ1Eó 4ó 4ó Uó Dð1Eðf ‡[�[×ÑÐ GÓHØ‡[�[×Ñ˜V a¨ VÓ,Ø‡[�[×Ñ˜Z¨%°¨Ó7Ø‡[�[×Ñ˜\Ò+JÓKØ‡[�[×Ñ˜W y°)Ð&<Ó=Ø‡[�[×Ñ˜V e¨T ]Ó3Ø‡[�[×Ñ˜V h°Ð%?Ó@ñ#;ó Aó 4ó >ó Ló 8ó -ó Ið#;ðJ ‡[�[×!Ñ! 'Ð2LÐ!ÓMØ‡[�[×Ñ˜S 2 s )Ó,Ø‡[�[×Ñ˜\Ð+RÐ+L×+RÑ+RÓ+TÓUñ+ó Vó -ó Nð+ð& ‡[�[×Ñ˜V e¨T ]Ó3ñ)ó 4ð)ò1ð
 ‡[�[×Ñ˜\Ò+JÓKØ‡[�[×Ñ˜XÐ'BÓCñ!"ó Dó Lð!"ðH ‡[�[×Ñ˜\¨K¸Ð+@ÓAØ‡[�[×Ñ˜XÐ'BÓCñ&ó Dó Bð&ð> ‡[�[×ÑÐ0à
ˆc�2—6‘6˜2Ð	Ú
�e˜U B§F¡FÐ+¨b°"°b·f±fÐ-=¸rÐ	BÚ
�R˜˜RÐ	 Ø�F‰F�Aˆ;ˆ-˜˜RŸV™V S˜M¸&ÈIÑ+VÐ	WØˆrˆ(�C˜˜Ÿ™  B§F¡FÓ+¨f°b¨\Ð	:Øˆrˆ(�C˜˜Ÿ™ $›°!ÀÑ)GÐ	HØˆrˆ(�C˜˜Ÿ™ &Ó)°AÀ4Ñ+HÐ	IØ
ˆs�Cˆj˜'˜"Ÿ'™' ! R§V¡VÓ,¨bÐ	1Ø
ˆ"�)‰)�A�rÓ
×
"Ñ
" 9Ó
-¨s°s°e°W°IØ TÑ
*ð
,àˆqˆ6�A�q�6Ð
Ò-Ò0AÐ/BØ TÑ
*ð
,â
�r—v‘v�g˜rŸv™vÐ&¨¨c¨
°BÐ	7ð �F‰Fˆ7�B˜˜1˜bŸf™fÐ
%¨¯©¨°°R¸¸A¸qÀ"Ç&Á&Ð'IØ��t˜S 4¨¨r¯v©vÐ
6¸À(Ð8Kð
Mà�F‰Fˆ7�B˜˜1˜bŸf™fÐ
%¨¯©¨°°R¸¸A¸qÀ"Ç&Á&Ð'IÚ
,¨x¸Ð.Hð
Jð5	
óñ<.ó=ð<.ð ‡[�[×!Ñ! +Ð6RÐ!ÓSØ‡[�[×Ñ˜XÐ'PÐ'K×'PÑ'PÓ'RÓSñJó Tó TñJr5   r  )2rb   Únumpyr!   Úscipyr   Úscipy.stats._quantiler   r   r   r   Úscipy._lib._array_apir   r	   r
   r   r   r   r   r   r   r   Úscipy._lib._array_api_no_0dr   r   Úscipy._lib._utilr   Úscipy._external.array_api_extraÚ	_externalÚarray_api_extrarP  Úscipy.stats._axis_nan_policyr   rï   rî   Úlazy_xp_modulesr4   Ú	vectorizer*   rK   r,   rM   rû   rý   r  r  ÚsortedÚlistr_  r  r  rô   r5   r3   ú<module>rp     s_  ðÛ Û å ÷Mó M÷÷ ÷ ÷ IÝ .ß -Ð -Ý :à—;‘;×/Ñ/Ð à�'€á�8˜XÓ&ñó 'ðð. €‡�˜˜1�vÔñ
ó ð
òñ �5—>‘>Ó"÷w;ð w;ó #ðw;ñt	 �8˜XÓ&ñ,ó 'ð,ñ Ð#Ó$÷'"ð '"ó %ð'"ñT �8˜XÓ&ñCó 'ðCð +,¸Ø!%¨hôñ %¡TÐ*@Ó%AÓBÐ ñ �5×&Ñ&Ó'÷vJð vJó (ñvJr5   