o
    ?Hh
                     @   sh   d dl Zd dlmZ d dlmZ d dlmZ dd Zdd Z	d	d
 Z
dd Zdd Zdd Zdd ZdS )    N)assert_allclose)approx_weighted_percentilec                  C   sp   t jdt jd} d| d d< d| dd < d| d< d	| d< t jdt jd}d
|d< t| |d}t|d	ks6J d S )Nf   dtyper   2      ii            )npemptyfloat64onesr   r   yswscore r   ^/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/sklearn/utils/tests/test_stats.pytest_weighted_percentile   s   r   c                  C   sN   t jdt jd} | d t jdt jd}d|d< t| |d}|dks%J d S )Nr   r   r   r   r	   r   )r   r   r   fillr   r   r   r   r   r   test_weighted_percentile_equal   s   
r   c                  C   sT   t jdt jd} | d t jdt jd}|d t| |d}t|dks(J d S )Nr   r   g      ?r   r	   )r   r   r   r   r   r   r   r   r   r   r   $test_weighted_percentile_zero_weight   s   

r   c                  C   st   t g d} t g d}t| |d}t|dksJ t| |d}t|dks*J t| |d}t|dks8J d S )	N)r   r   r
            )r   r   r   r   r   r   r   r
   r	   r   d   r   )r   arrayr   r   r   r   r   r   4test_weighted_percentile_zero_weight_zero_percentile&   s   r!   c                  C   sN   t jd} | jddd}t |j}t |}t||}|t|ks%J d S )Nr   
      size)	r   randomRandomStaterandintr   shapemedianr   r   )rngxweightsr*   w_medianr   r   r   "test_weighted_median_equal_weights3   s   

r/   c                  C   s\   t jd} | jddd}| jddd}t ||}t |}t||}|t|ks,J d S )Nr      r"   r$   r   )	r   r&   r'   r(   choicerepeatr*   r   r   )r+   r,   r-   x_manualr*   r.   r   r   r   $test_weighted_median_integer_weights?   s   

r4   c                     s   t jd} | jddd}| jddd | jddd}t ||fjt } fddtj	d D }t
|| | jddd}t  |fjt}fd	dtj	d D }t
|| d S )
Nr   r"   r$   r   r0   c                    s"   g | ]}t d d |f  qS Nr   .0i)w1x_2dr   r   
<listcomp>W   s   " z/test_weighted_percentile_2d.<locals>.<listcomp>r   c                    s.   g | ]}t d d |f  d d |f qS r5   r   r6   )w_2dr:   r   r   r;   _   s    ")r   r&   r'   r(   r1   vstackTr   ranger)   r   )r+   x1x2r.   p_axis_0w2r   )r9   r<   r:   r   test_weighted_percentile_2dM   s   


rD   )numpyr   numpy.testingr   pytestr   sklearn.utils.statsr   r   r   r   r!   r/   r4   rD   r   r   r   r   <module>   s    		