o
    tBhj                     @   s:  d dl Zd dlmZmZ d dlZd dlmZmZm	Z	m
Z
 ee Zdd Zejde
d ddde
d ddd	e
d dd	de
d dd	d	e
ej ejdde
ej ejdd	e
ej ejd	de
ej ejd	d	e
d
ddde
d
ddd	e
d
dd	de
d
dd	d	gdd Zejdedd Zejdedd ZdS )    N)assert_allcloseassert_array_equal)_LINKS_inclusive_low_highMultinomialLogitIntervalc                   C   sB   t jtdd tdddd W d   dS 1 sw   Y  dS )z5Test that interval with low > high raises ValueError.z-One must have low <= high; got low=1, high=0.)match   r   FN)pytestraises
ValueErrorr    r   r   t/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/sklearn/_loss/tests/test_link.pytest_interval_raises   s
   "r   intervalr	   FTic                 C   s   t | \}}tj||dd}| |sJ | tj|| jf | jks%J | tj|| jf | jks5J | tj|| j| jf | joF| jksJJ d S )N
   )num)	r   nplinspaceincludesr_lowlow_inclusivehighhigh_inclusive)r   r   r   xr   r   r   test_is_in_range   s     
r   linkc                 C   s   t jd}|  } d\}}| jr'd}|jdd||fd}t| tr&| |}n|jdd|d}t| 	| 
|| | 
|}t| 
| 	|| d S )N*   d   Nr   r   locscalesize)r   randomRandomStateis_multiclassnormal
isinstancer   symmetrize_raw_predictionr   r   inverse)r   rng	n_samples	n_classesraw_predictiony_predr   r   r   test_link_inverse_identity<   s   


r2   c           	      C   s   t jd}|  } d\}}| jr'd}|jdd||fd}t| tr&| |}n|jdd|d}| j|d d}t 	|}| j||d}t
|| t|| t ||sTJ t 	|}| j||d}t
|| t|| t ||srJ d S )Nr   r    r   r   r"   )out)r   r&   r'   r(   r)   r*   r   r+   r,   
empty_liker   r   shares_memoryr   )	r   r-   r.   r/   r0   r1   r3   y_pred_2raw_prediction_2r   r   r   test_link_out_argumentQ   s*   







r8   )numpyr   numpy.testingr   r   r
   sklearn._loss.linkr   r   r   r   listvaluesLINK_FUNCTIONSr   markparametrizeinfr   r2   r8   r   r   r   r   <module>   s6    

