
    0Ph
                     \    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dS )    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 d S )Nf   dtyper   2      ii            )npemptyfloat64onesr   r   yswscores      ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_stats.pytest_weighted_percentiler      s    
BJ'''AAcrcFAcddGAbEAbE	BJ	'	'	'BBrF B++E%==A    c                      t          j        dt           j                  } |                     d           t          j        dt           j                  }d|d<   t          | |d          }|dk    sJ d S )Nr   r	   r   r   r   r   )r   r   r   fillr   r   r   s      r   test_weighted_percentile_equalr      sh    
BJ'''AFF3KKK	BJ	'	'	'BBrF B++EA::::::r   c                  &   t          j        dt           j                  } |                     d           t          j        dt           j                  }|                    d           t          | |d          }t          |          dk    sJ d S )Nr   r	   g      ?r   r   )r   r   r   r   r   r   r   r   s      r   $test_weighted_percentile_zero_weightr      sz    
BJ'''AFF3KKK	BJ	'	'	'BGGCLLL B++E%==Cr   c                  B   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 d S )	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                            d          } |                     dd          }t          j        |j                  }t          j        |          }t          ||          }|t          |          k    sJ d S )Nr   
      size)	r   randomRandomStaterandintr   shapemedianr   r   )rngxweightsr0   w_medians        r   "test_weighted_median_equal_weightsr5   3   sx    
)


"
"CBR  AgagGYq\\F#Aw//HVH%%%%%%%%r   c                  <   t           j                            d          } |                     dd          }|                     dd          }t          j        ||          }t          j        |          }t          ||          }|t          |          k    sJ d S )Nr      r(   r*   r#   )	r   r,   r-   r.   choicerepeatr0   r   r   )r1   r2   r3   x_manualr0   r4   s         r   $test_weighted_median_integer_weightsr;   ?   s     )


"
"CBR  Ajjj$$GyG$$HYx  F#Aw//HVH%%%%%%%%r   c                     t           j                            d          } |                     dd          }|                     dd          |                     dd          }t          j        ||f          j        t                    }fdt          j	        d                   D             }t          ||           |                     dd          }t          j        |f          j        t                    }fdt          j	        d                   D             }t          ||           d S )	Nr   r(   r*   r#   r7   c                 D    g | ]}t          d d |f                   S Nr   ).0iw1x_2ds     r   
<listcomp>z/test_weighted_percentile_2d.<locals>.<listcomp>W   s0    SSS$T!!!Q$Z44SSSr   r   c                 X    g | ]&}t          d d |f         d d |f                   'S r>   r   )r?   r@   w_2drB   s     r   rC   z/test_weighted_percentile_2d.<locals>.<listcomp>_   sI       9:T!!!Q$Zaaad44  r   )r   r,   r-   r.   r8   vstackTr   ranger/   r   )	r1   x1x2r4   p_axis_0w2rA   rE   rB   s	         @@@r   test_weighted_percentile_2drM   M   sG   
)


"
"C	Rb	!	!B	AB		B	Rb	!	!B9b"X D#D"--HSSSSSeDJqM>R>RSSSHHh''' 
AB		B9b"X D#D$//H    >CDJqM>R>R  H Hh'''''r   )numpyr   numpy.testingr   pytestr   sklearn.utils.statsr   r   r   r   r&   r5   r;   rM    r   r   <module>rS      s        ) ) ) ) ) )       4 4 4 4 4 4	 	 	       
 
 
	& 	& 	&& & &( ( ( ( (r   