o
    \ir                     @   s>  d dl Zd dlZd dlmZmZ d dlmZ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HalfLogitLinkIntervalMultinomialLogit_inclusive_low_highc                   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   ~/var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/sklearn/_loss/tests/test_link.pytest_interval_raises   s
   "r   intervalr
   FTc                 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\}}| jr'd}|jdd||fd}t| tr&| |}nt| tr5|jdd|d}n|jdd|d}t	| 
| || | |}t	| | 
|| d S )Nd   Nr   i   r   r   sizer   )r   randomRandomStateis_multiclassuniform
isinstancer   symmetrize_raw_predictionr   r   r    inverse)r    global_random_seedrng	n_samples	n_classesraw_predictiony_predr   r   r   test_link_inverse_identity<   s   



r3   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 )	N*   r!   r   r   )locscaler%   r   r$   )out)r   r&   r'   r(   normalr*   r   r+   r)   r,   
empty_liker   r   shares_memoryr    )	r    r.   r/   r0   r1   r2   r7   y_pred_2raw_prediction_2r   r   r   test_link_out_argumentT   s*   







r=   )numpyr   r   numpy.testingr   r   sklearn._loss.linkr   r   r   r   r   listvaluesLINK_FUNCTIONSr   markparametrizeinfr   r3   r=   r   r   r   r   <module>   s6    

