
    _nd                        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j                              Z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             Zej                            de          d             Zej                            de          d             ZdS )    N)assert_allcloseassert_array_equal)_LINKS_inclusive_low_highMultinomialLogitIntervalc                      t          j        t          d          5  t          dddd           ddd           dS # 1 swxY 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        =lib/python3.11/site-packages/sklearn/_loss/tests/test_link.pytest_interval_raisesr      s    	I
 
 
 % % 	Aue$$$% % % % % % % % % % % % % % % % % %s   <A A intervalr   FTic                    t          |           \  }}t          j        ||d          }|                     |          sJ |                     t          j        || j        f                   | j        k    sJ |                     t          j        || j        f                   | j        k    sJ |                     t          j        || j        | j        f                   | j        o| j        k    sJ d S )N
   )num)	r   nplinspaceincludesr_lowlow_inclusivehighhigh_inclusive)r   r   r   xs       r   test_is_in_ranger!      s    & $H--IC
C2&&&AQ RU1hl?3448NNNNN RU1hm#34559PPPPP RU1hlHM#ABCC:8#:     r   linkc                 0   t           j                            |          } |             } d\  }}| j        rGd}|                    dd||f          }t          | t                    r|                     |          }n|                    dd|          }t          | 	                    | 
                    |                    |           | 
                    |          }t          | 
                    | 	                    |                    |           d S )Nd   Nr   i   )r   r   size)r   randomRandomStateis_multiclassuniform
isinstancer   symmetrize_raw_predictionr   r"   inverse)r"   global_random_seedrng	n_samples	n_classesraw_predictiony_preds          r   test_link_inverse_identityr5   <   s    )

 2
3
3C466D$Iy  I	2Y	<RSSd,-- 	L!;;NKKN2YHHDIIdll>::;;^LLL\\.))FDLL6!2!233V<<<<<r   c                    t           j                            d          } |             } d\  }}| j        rGd}|                    dd||f          }t          | t                    r|                     |          }n|                    dd|          }|                     |d           }t          j	        |          }|                     ||          }t          ||           t          ||           t          j        ||          sJ t          j	        |          }|                     ||          }t          ||           t          ||           t          j        ||          sJ d S )N*   r$   r   r   )locscaler'   )out)r   r(   r)   r*   normalr,   r   r-   r.   
empty_liker   r   shares_memoryr"   )	r"   r0   r1   r2   r3   r4   r:   y_pred_2raw_prediction_2s	            r   test_link_out_argumentr@   R   st    )


#
#C466D$Iy G	9i:PQQd,-- 	L!;;NKKN 9FF\\.d\33F
-
'
'C||N|44HFC   sH%%%C*****
-

CyySy11NC(((s,---C!12222222r   )numpyr   numpy.testingr   r   r   sklearn._loss.linkr   r   r   r   listvaluesLINK_FUNCTIONSr   markparametrizeinfr!   r5   r@   r   r   r   <module>rJ      s0       = = = = = = = =             mfmoo&&% % % Aue$$Aud##AtU##AtT"""&"&%//"&"&%.."&"&$.."&"&$--b%''b%&&b$&&b$%% " # "& 00= = 10=* 003 3 103 3 3r   