U
    -er                     @   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   s,   t jtdd tdddd W 5 Q R X dS )z5Test that interval with low > high raises ValueError.z-One must have low <= high; got low=1, high=0.)match   r   FN)pytestZraises
ValueErrorr    r   r   ^/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sklearn/_loss/tests/test_link.pytest_interval_raises   s
     r   intervalr
   FTc                 C   s   t | \}}tj||dd}| |s*t| tj|| jf | jksJt| tj|| jf | j	ksjt| tj|| j| jf | jo| j	kstd S )N
   )num)
r   npZlinspaceZincludesAssertionErrorZr_lowZlow_inclusivehighZhigh_inclusive)r   r   r   xr   r   r   test_is_in_range   s      
r   linkc                 C   s   t j|}|  } d\}}| jrNd}|jdd||fd}t| trz| |}n,t| trj|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   Zglobal_random_seedrng	n_samples	n_classesraw_predictiony_predr   r   r   test_link_inverse_identity<   s    


r-   c           	      C   s   t jd}|  } d\}}| jrNd}|jdd||fd}t| tr^| |}n|jdd|d}| j	|d d}t 
|}| j	||d}t|| t|| t ||stt 
|}| j||d}t|| t|| t ||std S )	N*   r   r   r   )locscaler    r   r   )out)r   r!   r"   r#   normalr%   r   r&   r$   r'   Z
empty_liker   r   Zshares_memoryr   r   )	r   r(   r)   r*   r+   r,   r1   Zy_pred_2Zraw_prediction_2r   r   r   test_link_out_argumentT   s(    






r3   )numpyr   r   Znumpy.testingr   r   Zsklearn._loss.linkr   r   r   r   r   listvaluesZLINK_FUNCTIONSr   markZparametrizeinfr   r-   r3   r   r   r   r   <module>   s4   

