
    {Kg
                     Z    d dl Zd dlmZ d dlmZ d dlmZ d Zd Z	d Z
d Zd	 Zd
 Zd Zy)    N)assert_allclose)approx)_weighted_percentilec                     t        j                  dt         j                        } d| d d d| dd  d| d<   d	| d<   t        j                  dt         j                        }d
|d<   t	        | |d      }t        |      d	k(  sJ y )Nf   dtyper   2      ii            )npemptyfloat64onesr   r   yswscores      b/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/sklearn/utils/tests/test_stats.pytest_weighted_percentiler      s{    
BJJ'AAcrFAcdGAbEAbE	BJJ	'BBrF B+E%=A    c                      t        j                  dt         j                        } | j                  d       t        j                  dt         j                        }d|d<   t        | |d      }|dk(  sJ y )Nr   r   r   r   r
   r   )r   r   r   fillr   r   r   s      r   test_weighted_percentile_equalr      sX    
BJJ'AFF3K	BJJ	'BBrF B+EA::r   c                     t        j                  dt         j                        } | j                  d       t        j                  dt         j                        }|j                  d       t        | |d      }t        |      dk(  sJ y )Nr   r   g      ?r   r
   )r   r   r   r   r   r   r   r   s      r   $test_weighted_percentile_zero_weightr      s`    
BJJ'AFF3K	BJJ	'BGGCL B+E%=Cr   c                     t        j                  g d      } t        j                  g d      }t        | |d      }t        |      dk(  sJ t        | |d      }t        |      dk(  sJ t        | |d      }t        |      dk(  sJ y )	N)r   r   r            )r   r   r   r   r   r   r   r   r
   r    d   r!   )r   arrayr   r   r   s      r   4test_weighted_percentile_zero_weight_zero_percentiler%   &   s    
#$A	$	%B B*E%=A B+E%=A B,E%=Ar   c                     t         j                  j                  d      } | j                  dd      }t        j                  |j
                        }t        j                  |      }t        ||      }|t        |      k(  sJ y )Nr   
      size)	r   randomRandomStaterandintr   shapemedianr   r   )rngxweightsr/   w_medians        r   "test_weighted_median_equal_weightsr4   3   sf    
))


"CBR AggaggGYYq\F#Aw/HVH%%%%r   c                     t         j                  j                  d      } | j                  dd      }| j	                  dd      }t        j
                  ||      }t        j                  |      }t        ||      }|t        |      k(  sJ y )Nr      r'   r)   r"   )	r   r+   r,   r-   choicerepeatr/   r   r   )r0   r1   r2   x_manualr/   r3   s         r   $test_weighted_median_integer_weightsr:   ?   sy     ))


"CBR Ajjj$GyyG$HYYx F#Aw/HVH%%%%r   c            	         t         j                  j                  d      } | j                  dd      }| j	                  dd      }| j                  dd      }t        j
                  ||f      j                  }t        ||      }t        |j                  d         D cg c]  }t        |d d |f   |       }}t        ||       | j	                  dd      }t        j
                  ||f      j                  }	t        ||	      }t        |j                  d         D cg c]  }t        |d d |f   |	d d |f          }}t        ||       y c c}w c c}w )Nr   r'   r)   r"   r6   r   )r   r+   r,   r-   r7   vstackTr   ranger.   r   )
r0   x1w1x2x_2dr3   ip_axis_0w2w_2ds
             r   test_weighted_percentile_2drG   M   s>   
))


"C	Rb	!B	AB	B	Rb	!B99b"X  D#D"-H>CDJJqM>RS>R$T!Q$Z4>RHSHh' 
AB	B99b"X  D#D$/H>CDJJqM>R>RT!Q$Zad4>R   Hh' Ts    E"!E)numpyr   numpy.testingr   pytestr   sklearn.utils.statsr   r   r   r   r%   r4   r:   rG    r   r   <module>rM      s4     )  4	 
	&&(r   