
    ri                        d dl Zd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZ ej                   j#                  deej$                  gz         ej                   j#                  d	d
dg      ej                   j#                  dddg      d                      Zd"dZd ZdZd Zej                   j0                  ej                   j#                  ddedfg      d               Zej                   j#                  ddedz   g      d        Zej                   j0                  ej                   j#                  dedfdg      d               Zej                   j#                  d dedz   g      d!        Zy)#    N)stats)LogisticRegression)	LinearSVC)l1_min_c)bounded_rand_int_wrapset_seed_wrap)CSR_CONTAINERSX_containerlosssquared_hingelogintercept_labelno-interceptfit-interceptc                 n    ddidddd} | ddgdd	gd	d	gd	d	gg      }g d
}||   }t        |||fi | y )Nfit_interceptFT
   )r   intercept_scaling)r   r   r      )r   r   r   r   )check_l1_min_c)r
   r   r   
interceptsXYintercept_paramss          [/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/sklearn/svm/tests/test_bounds.pytest_l1_min_cr      sb    
 )%0+/bIJ
 	b!Wq!fq!fq!f56AA!/21a2!12    c                 v   t        | ||||      }t        dd      t        ddd      d	|   }||_        ||_        ||_        |j                  | |       t        j                  |j                        d
k(  j                         sJ t        j                  |j                        d
k(  j                         sJ |dz  |_        |j                  | |       t        j                  |j                        d
k7  j                         s3t        j                  |j                        d
k7  j                         sJ y y )N)r   r   r   r   	liblinear)l1_ratiosolverr   l1F)r   penaltydual)r   r   r   g)\(?)r   r   r   r   r   Cfitnpasarraycoef_all
intercept_any)r   yr   r   r   min_cclfs          r   r   r      s   		#+E "1[A"ER C
 &C-CCEGGAqMJJsyy!Q&++---JJs~~&!+00222DLCEGGAqMJJsyy!Q&++-"**S^^2LPQ2Q1V1V1XXX1X-r   c                      ddgddgg} ddg}t        j                  t              5  t        | |       d d d        y # 1 sw Y   y xY w)Nr   r   )pytestraises
ValueErrorr   )r   r.   s     r   test_ill_posed_min_cr5   6   sG    
Q!QA	
AA	z	" A  s	   <Al    c                      t        d      D  cg c]  } t        d       c} t        d D              sJ t        fdD              rJ yc c} w )a  Test that bounded_rand_int_wrap without seeding respects the range

    Note this test should pass either if executed alone, or in conjunctions
    with other tests that call set_seed explicit in any order: it checks
    invariants on the RNG instead of specific values.
    r   d   c              3   <   K   | ]  }d |cxk  xr dk  nc   yw)r   r7   N ).0xs     r   	<genexpr>z'test_newrand_default.<locals>.<genexpr>H   s     /qA|||/s   c              3   .   K   | ]  }|d    k(    yw)r   Nr9   )r:   r;   	generateds     r   r<   z'test_newrand_default.<locals>.<genexpr>I   s     81	!$8s   N)ranger   r+   )_r>   s    @r   test_newrand_defaultrA   @   sP     6;2Y?&s+?I/Y////8i88888 @s   Azseed, expected)r   6   	   c                 >    t        |        t        d      }||k(  sJ y)z3Test that `set_seed` produces deterministic resultsr7   N)r   r   )seedexpectedr>   s      r   test_newrand_set_seedrG   L   s$     $%c*I   r   rE   r   r   c                 v    t        j                  t              5  t        |        ddd       y# 1 sw Y   yxY w)z=Test that `set_seed_wrap` is defined for unsigned 32bits intsN)r2   r3   OverflowErrorr   )rE   s    r   test_newrand_set_seed_overflowrJ   U   s-     
}	% d     /8zrange_, n_ptsi'  )r7      c                 6   t        d       d}g }t        j                  d|       }t        |      D ]^  }t        |      D cg c]  }t	        |        }}t        j
                  ||j                        }|j                  |j                         ` t        j                  dd      }t        j
                  ||j                        }	|	j                  dkD  sJ d|	j                   d       t        j                  |d	
      }
|
dkD  sJ d|
 d       yc c}w )z;Test that `bounded_rand_int` follows a uniform distribution*   r7   r   )locscaler   g?zNull hypothesis rejected: generated random numbers are not uniform. Details: the (meta) p-value of the test of uniform distribution of p-values is z which is not > 0.05r   )qzlNull hypothesis rejected: generated random numbers are not uniform. Details: lower 10th quantile p-value of z not > 0.05.N)r   r   uniformr?   r   kstestcdfappendpvaluer(   
percentile)range_n_ptsn_iterks_pvalsuniform_distr@   sampleresuniform_p_vals_dist	res_pvalsmin_10pct_pvals              r   test_newrand_bounded_rand_intrb   \   s    "FH==Qf5L6] $9>uFA'/FFll6<#3#34

#	$  --AQ7X':'>'>?Id" 	$++,,@	B" ]]8r2N D  	33A2B,	P - Gs   DrX   c                 v    t        j                  t              5  t        |        ddd       y# 1 sw Y   yxY w)zETest that `bounded_rand_int_wrap` is defined for unsigned 32bits intsN)r2   r3   rI   r   )rX   s    r   $test_newrand_bounded_rand_int_limitsrd      s-     
}	% &f%& & &rK   )Tg      ?)numpyr(   r2   scipyr   sklearn.linear_modelr   sklearn.svmr   sklearn.svm._boundsr   sklearn.svm._newrandr   r   sklearn.utils.fixesr	   markparametrizearrayr   r   r5   _MAX_UNSIGNED_INTrA   thread_unsaferG   rJ   rb   rd   r9   r   r   <module>rq      s      3 ! ( E . "(((CD/5!9:*^_,MN	3 O ; E	3Y6  	9 )G6G5K+LM! N ! "&7!&;!<= > ,=u+Ey*QR$ S $N B(9A(=#>?& @&r   