
    /ii                        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                            deej        gz             ej                            d	d
dg          ej                            dddg          d                                     Zd$dZd ZdZd Zej        j        ej                            ddedfg          d                         Zej                            ddedz   g          d             Zej        j        ej                            dedfd g          d!                         Zej                            d"dedz   g          d#             ZdS )%    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                 ~    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 | d S )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          c/var/www/html/bet.cuttalo.com/ml/venv/lib/python3.11/site-packages/sklearn/svm/tests/test_bounds.pytest_l1_min_cr      s    
 )%0+/bII J
 	b!Wq!fq!fq!f566AA!/21a22!122222    T      ?c                    t          | ||||          }t          dd          t          ddd          d	|         }||_        ||_        ||_        |                    | |           t          j        |j	                  d
k    
                                sJ t          j        |j                  d
k    
                                sJ |dz  |_        |                    | |           t          j        |j	                  d
k                                    s1t          j        |j                  d
k                                    sJ d S d S )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      sO   		#+  E "1[AAA"ERRR  C
 &C-CCEGGAqMMMJsy!!Q&++-----Js~&&!+0022222DLCEGGAqMMMJsy!!Q&++--X"*S^2L2LPQ2Q1V1V1X1XXXXXXXXr   c                      ddgddgg} ddg}t          j        t                    5  t          | |           d d d            d S # 1 swxY w Y   d S )Nr   r   )pytestraises
ValueErrorr   )r   r/   s     r   test_ill_posed_min_cr6   6   s    
Q!QA	
AA	z	"	"  A                 s   AAAl    c                       d t          d          D              t          d  D                       sJ t           fd D                       rJ dS )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.
    c                 ,    g | ]}t          d           S )d   r   ).0_s     r   
<listcomp>z(test_newrand_default.<locals>.<listcomp>G   s!    ???&s++???r   r   c              3   6   K   | ]}d |cxk    odk     nc V  dS )r   r9   N )r;   xs     r   	<genexpr>z'test_newrand_default.<locals>.<genexpr>H   s6      //qA||||||||//////r   c              3   0   K   | ]}|d          k    V  dS )r   Nr?   )r;   r@   	generateds     r   rA   z'test_newrand_default.<locals>.<genexpr>I   s,      881	!$888888r   N)ranger,   )rC   s   @r   test_newrand_defaultrE   @   sq     @?U2YY???I//Y////////8888i8888888888r   zseed, expected)r   6   	   c                 R    t          |            t          d          }||k    sJ dS )z3Test that `set_seed` produces deterministic resultsr9   N)r   r   )seedexpectedrC   s      r   test_newrand_set_seedrK   L   s6     $%c**I      r   rI   r   r   c                     t          j        t                    5  t          |            ddd           dS # 1 swxY w Y   dS )z=Test that `set_seed_wrap` is defined for unsigned 32bits intsN)r3   r4   OverflowErrorr   )rI   s    r   test_newrand_set_seed_overflowrN   U   s     
}	%	%  d                    7;;zrange_, n_ptsi'  )r9      c                     t          d           d}g }t          j        d           }t          |          D ]Q} fdt          |          D             }t          j        ||j                  }|                    |j                   Rt          j        dd          }t          j        ||j                  }	|	j        dk    sJ d|	j         d	            t          j	        |d
          }
|
dk    sJ d|
 d            dS )z;Test that `bounded_rand_int` follows a uniform distribution*   r9   r   )locscalec                 .    g | ]}t                    S r?   r:   )r;   r<   range_s     r   r=   z1test_newrand_bounded_rand_int.<locals>.<listcomp>i   s"    FFFA'//FFFr   r   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   uniformrD   kstestcdfappendpvaluer)   
percentile)rV   n_ptsn_iterks_pvalsuniform_distr<   sampleresuniform_p_vals_dist	res_pvalsmin_10pct_pvals   `          r   test_newrand_bounded_rand_intrg   \   sH    "FH=Qf555L6]] $ $FFFFuFFFl6<#344
####  -AQ777X':'>??Id"""	B$+	B 	B 	B #"" ]8r222N D   	P3A	P 	P 	P !    r   rV   c                     t          j        t                    5  t          |            ddd           dS # 1 swxY w Y   dS )zETest that `bounded_rand_int_wrap` is defined for unsigned 32bits intsN)r3   r4   rM   r   )rV   s    r   $test_newrand_bounded_rand_int_limitsri      s     
}	%	% & &f%%%& & & & & & & & & & & & & & & & & &rO   )Tr   )numpyr)   r3   scipyr   sklearn.linear_modelr   sklearn.svmr   sklearn.svm._boundsr   sklearn.svm._newrandr   r   sklearn.utils.fixesr	   markparametrizearrayr   r   r6   _MAX_UNSIGNED_INTrE   thread_unsaferK   rN   rg   ri   r?   r   r   <module>rv      s[              3 3 3 3 3 3 ! ! ! ! ! ! ( ( ( ( ( ( E E E E E E E E . . . . . . "((CDD/5!9::*^_,MNN	3 	3 ON ;: ED	3Y Y Y Y6    	9 	9 	9 )G6G5K+LMM! ! NM ! "&7!&;!<==  >= ,=u+Ey*QRR$ $ SR $N B(9A(=#>??& & @?& & &r   