Ë
    qwjéE  ã                   ó‚  — d dl Z d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZ d dlmZ e j*                  j,                  ZegZ edd«      d	„ «       Z ej2                  d d
h¬«      d„ «       Zd„ Z eej8                  «       G d„ d«      «       Z edd«      d„ «       Z ee«       G d„ d«      «       Zy)é    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_batch)Ú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         úd/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/stats/tests/test_quantile.pyÚquantile_reference_last_axisr.      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        r-   r$   r$   /   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€Kr/   c                ó  — t        j                  | |d«      t        j                  t        j                  |«      |d«      }} t        | |||«      }t        j                  |d|«      }|st        j                  ||¬«      }|S )Néÿÿÿÿ©Úaxis)r   ÚmoveaxisÚ
atleast_1dr.   Úsqueeze)r   r   r@   r*   Úkeepdimsr   r,   s          r-   Úquantile_referencerE   =   sh   € Ü�;‰;�q˜$ Ó#¤R§[¡[´·±¸qÓ1AÀ4ÈÓ%L€q€AÜ
& q¨!¨Z¸Ó
@€CÜ
�+‰+�c˜2˜tÓ
$€CÙÜ�j‰j˜ 4Ô(ˆØ€Jr/   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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   r0   é   r   z`x` must have real dtype.)ÚmatchTFy      ð?      ð?r0   z"`p` must have real floating dtype.r   r   z`weights` must have real dtype.)Úweightsz"`axis` must be an integer or None.r?   )r   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   ©rL   r   z4`method='round_nearest'` does not support `weights`.r3   z/If specified, `keepdims` must be True or False.é*   )rD   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        r-   Útest_input_validationz"TestQuantile.test_input_validationI   s  € Ø�J‰J’yÓ!ˆØ�J‰J�s‹Oˆà-ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜2Ÿ:™: t¨U mÓ4°aÔ8÷ 6ä�]‰]œ:Õ&Ü�N‰N˜2Ÿ:™: t¨Q iÓ0°!Ô4÷ 'ð 7ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜bŸj™j¨!¨Q¨Ó0Ô1÷ 6ð 4ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a¨¯©°1°b·l±lÓ)CÕD÷ 6ð 7ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a cÕ*÷ 6ä�]‰]œ:¨WÖ5Ü�N‰N˜1˜a gÕ.÷ 6ð LˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a aÕ(÷ 6ô �bŒzØ5ˆGÜ—‘œz°Ö9Ü—‘˜rŸz™z¨2¯6©6°1°a¨.Ó9¸1ÈÕQ÷ :ð /ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a¨Õ1÷ 6ð IˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a¨°?ÕC÷ 6ð IˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a¨°?ÕC÷ 6ð DˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜a¨"Õ-÷ 6ð YˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜1˜bŸj™j¨#¨s¨Ó4¸uÕE÷ 6Ð5÷[ 6Ñ5úç&Ñ&ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5úç5Ñ5ú÷ 6Ñ5ú÷
 :Ñ9ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ñ5ú÷ 6Ð5ú÷ 6Ð5ú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 )Nr>   é
   )r   Údtyper0   r   r?   ©r\   )r   ÚswapaxesÚndimÚ
atleast_2dÚintegersÚshapeÚint32ÚpermutedÚappendÚrepeatÚstackrC   r'   r\   )
rV   r   r@   Úrngr_   ÚcountsÚx_reprL   Úx_Úcounts_s
             r-   Ú_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ˆØ˜ˆ~Ðr/   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   r3   r4   r5   Ú_lowerÚ_higherÚ	_midpointÚ_nearestzshape_x, shape_p, axis))r[   Nr>   )r[   r[   r>   )r[   )r0   rJ   r>   ))r[   r0   Nr   rL   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   r@   r*   rD   r]   )r   rL   r@   )r#   rQ   Úskipr   r   ÚrandomÚdefault_rngrm   rE   r'   r   r&   r   )rV   r   Úshape_xÚshape_pr@   rL   rW   r\   rh   r   r   rj   Úrefr,   s                 r-   Ú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Õ:r/   z%ignore:torch.searchsorted:UserWarningz	jax.numpyr@   r   r   rD   r*   )r   r   Úmarrayr\   Úfloat32Úfloat64)rw   r   r3   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Š   z(`marray` currently incompatible with JAX>   r3   r   z'These methods don't yet support weightsr�   )é   é   r‚   gš™™™™™é?T©r@   rD   ç        r   ç      ð?éþÿÿÿz-MArray is only available if SCIPY_ARRAY_API=1z)MArray is not yet compatible with weights)r@   rD   r   )ÚmaskrL   r*   r   r]   )r@   rD   r*   r   )r   rQ   rƒ   r   r„   r…   rT   r(   r)   Úmeanr   ÚravelÚgetattrrm   r'   r
   ÚimportorskipÚdictÚ_get_namespacer   r&   rE   r   r"   )rV   r@   rD   r*   r\   r   rL   rW   rh   rb   r   r   r”   Úp0rj   rŠ   ÚkwargsÚmxpÚx_mpr,   rˆ   s                        r-   Ú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Õ:r/   c                 óš   — t        j                  |j                  d|j                  ¬«      d«      }|j                  t        |«      k(  sJ ‚y )Nr[   r]   r   )r   r&   ÚarangeÚint64r\   r   )rV   rW   r,   s      r-   Ú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Ñ0r/   zx, p, ref, kwargsr   rI   r>   g      ø?rJ   r0   r   )r   r�   )r   r   rP   é   )rJ   rJ   rJ   g      ,@Né   )g      Ð?r   g      è?)g      ü?g      @g      
@c                 óÊ   — t        |«      }|j                  |«      |j                  |«      |j                  ||¬«      }}}t        j                  ||fi |¤Ž}t	        ||«       y )Nr]   )r   r'   r   r&   r   )rV   r   r   rˆ   rœ   rW   Údefault_dtyper,   s           r-   Útest_edge_caseszTestQuantile.test_edge_casesù   sW   € ô$ )¨Ó,ˆØ—J‘J˜q“M 2§:¡:¨a£=°"·*±*¸SÈ°*Ó2Vˆcˆ1ˆÜ�n‰n˜Q Ñ, VÑ,ˆÜ˜˜SÕ!r/   )r   r   r0   c                 óô   — g d¢}|j                  «       }|rd||<   n|j                  |«       t        j                  |j	                  t        |«      «      d||¬«      }|j                  t        |«      k(  sJ ‚y )N)rJ   r¥   r   r   r   r�   )r   Úpopr   r&   ÚzerosÚtuplerb   )rV   r@   rD   rW   rb   Ú	out_shaper,   s          r-   Ú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 )Ó,Ò,Ð,Ñ,r/   )rr   rs   rt   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 )Nrt   z2.0.1z5Bug in np.quantile (numpy/numpy#26656) fixed in 2.0.1g       @r]   r   g     €ð?g       ?r   r€   r   )r   Ú__version__rQ   rƒ   r¡   rŒ   r   r&   r'   r#   r   )rV   r   rW   r   r   r,   rˆ   s          r-   Ú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Ó>Õ?r/   Úzero_weightsc           	      óH  — t        |«      r$|j                  dk  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.0z'`weights` not supported by NumPy < 2.0.ì   ¢z-\"}	rr   éd   r‚   r   r   r‘   r’   i,  r]   )r   rL   )r   r°   rQ   rƒ   r   r   r„   r…   Úlinspacer   r&   r'   r   )rV   r²   rW   r\   rh   r   r   rL   r   r,   rˆ   s              r-   Útest_weights_against_numpyz'TestQuantile.test_weights_against_numpy*  sò   € ä�BŒ<˜BŸN™N¨UÒ2Ü�K‰KÐAÔBÜ  Ó$ˆÜ�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Õ:r/   )	rr   rs   rt   ru   rv   rw   rx   ry   rz   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‘   rN   )rŽ   rµ   r>   )rL   r   r@   r   )rL   r*   r   r@   )r   r„   r…   r'   r   Úwherer   r&   r   r   r)   )rV   r   rW   rh   r;   r   Úx0r   Úi_zerorL   r,   rˆ   rb   Úx_nannedÚweights_zeroeds                  r-   Ú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Õr/   rb   é2   )rÀ   rJ   c                 ób  — t         j                  j                  d«      }|j                  |j                  |¬«      «      }|j                  |j                  |¬«      «      }|j	                  |«      }t        j                  ||||¬«      }t        j                  |||¬«      }	t        ||	«       y )Nl   ¢.ý,+r‚   rN   r   )r   r„   r…   r'   Ú	ones_liker   r&   r   )
rV   r   rb   rW   rh   r   r   rL   r,   rˆ   s
             r-   Útest_unity_weightszTestQuantile.test_unity_weights^  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Õ!r/   )Ú__name__Ú
__module__Ú__qualname__rY   rm   Úskip_xp_backendsrQ   ÚmarkÚparametrizer‰   ÚfilterwarningsrŸ   r£   r   r)   Úfullr«   r¡   Úreshaper¨   r®   r±   r·   r¿   rÃ   © r/   r-   rG   rG   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à‡[�[×Ñ˜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ñ"r/   rG   )Úar   )Úvr   c                 ó2   — t        j                  | ||¬«      S )N©Úside)r   Úsearchsorted)rÎ   rÏ   rÒ   s      r-   Únp_searchsortedrÔ   o  s   € ä�?‰?˜1˜a dÔ+Ð+r/   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ÚtiesFTrb   )r   r   r0   r[   é   iè  i'  )r0   r   )r   r0   )r0   r[   )r0   rJ   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‚   r]   r>   )rJ   r?   r¹   gÍÌÌÌÌÌì?r   r   rÑ   )r   rQ   rƒ   r   r„   r…   ra   r'   r‹   Ú	nextafterÚinfr)   Úbroadcast_torb   rd   Úconcatenater%   rŒ   r\   r   r_   ÚemptyrÔ   r   r   )rV   rÒ   rÙ   rb   rÛ   rÜ   rW   rh   r   ÚxrÚxlrk   r:   r”   Úxp_default_intrˆ   r,   s                    r-   Útest_ndzTest_XPSearchsorted.test_ndv  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Õ!r/   N)rÄ   rÅ   rÆ   rQ   rÈ   rÉ   ræ   rÍ   r/   r-   rÖ   rÖ   t  s¢   „ à‡[�[×Ñ˜V f¨gÐ%6Ó7Ø‡[�[×Ñ˜V e¨T ]Ó3Ø‡[�[×Ñ˜Wò 'Ló Mà‡[�[×Ñ˜X¨¨t }Ó5Ø‡[�[×Ñ˜X¨¨t }Ó5ñ "ó 6ó 6óMó 4ó 8ñ "r/   rÖ   ) rQ   Ú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$   rE   r&   rG   rÔ   rÖ   rÍ   r/   r-   Ú<module>rï      sá   ðÛ Û å Ý 2÷	÷ 	ó 	÷ IÝ .à—;‘;×/Ñ/Ð à�'€á�8˜XÓ&ñó 'ðð. €‡�˜˜1�vÔñ
ó ð
òñ �5—>‘>Ó"÷e"ð e"ó #ðe"ñP	 �8˜XÓ&ñ,ó 'ð,ñ Ð#Ó$÷'"ð '"ó %ñ'"r/   