U
    ^»{j™  ã                   @   s„  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 d dlmZmZ dd gd d	gd	d	gd	d	ggZe e¡Zd d	d	d	gZd
d	d d gZej dddg¡ej dddg¡ej dddg¡ej dddg¡dd„ ƒƒƒƒZd2dd„Zdd„ ZdZd d!„ Zej d"d#ed$fg¡d%d&„ ƒZej d'ded	 g¡d(d)„ ƒZej d*ed+fd,g¡d-d.„ ƒZej d/ded	 g¡d0d1„ ƒZdS )3é    N)Úsparse)Ústats)ÚLogisticRegression)Ú	LinearSVC)Úl1_min_c)Úbounded_rand_int_wrapÚset_seed_wrapéÿÿÿÿé   é   ÚlossÚsquared_hingeÚlogÚX_labelr   ÚdenseÚY_labelútwo-classesúmulti-classÚintercept_labelúno-interceptúfit-interceptc           
      C   sT   t tdœ}ttdœ}ddidddœdœ}|| }|| }|| }	t||| f|	Ž d S )	N)r   r   )r   r   Úfit_interceptFTé
   )r   Úintercept_scaling)r   r   )Úsparse_XÚdense_XÚY1ÚY2Úcheck_l1_min_c)
r   r   r   r   ZXsZYsZ
interceptsÚXÚYZintercept_params© r!   ú\/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sklearn/svm/tests/test_bounds.pyÚtest_l1_min_c   s    

þr#   Tç      ð?c                 C   sÆ   t | ||||d�}tddd�tdddd�dœ| }||_||_||_| | |¡ t |j	¡d	k 
¡ sht‚t |j¡d	k 
¡ s€t‚|d
 |_| | |¡ t |j	¡d	k ¡ sÂt |j¡d	k ¡ sÂt‚d S )N)r   r   r   Úl1Z	liblinear)ÚpenaltyZsolverr   F)r   r&   Zdual)r   r   r   g)\�Âõ(ð?)r   r   r   r   r   ÚCÚfitÚnpZasarrayZcoef_ÚallÚAssertionErrorZ
intercept_Úany)r   Úyr   r   r   Zmin_cZclfr!   r!   r"   r   $   s*    û	
þý
r   c               	   C   s<   ddgddgg} ddg}t  t¡� t| |ƒ W 5 Q R X d S )Nr   r
   )ÚpytestÚraisesÚ
ValueErrorr   )r   r-   r!   r!   r"   Útest_ill_posed_min_c?   s    r1   l   ÿÿ c                      sF   dd„ t dƒD ƒ‰ tdd„ ˆ D ƒƒs(t‚t‡ fdd„ˆ D ƒƒrBt‚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                 S   s   g | ]}t d ƒ‘qS )éd   ©r   ©Ú.0Ú_r!   r!   r"   Ú
<listcomp>P   s     z(test_newrand_default.<locals>.<listcomp>r   c                 s   s&   | ]}d |  kodk n  V  qdS )r   r2   Nr!   ©r5   Úxr!   r!   r"   Ú	<genexpr>Q   s     z'test_newrand_default.<locals>.<genexpr>c                 3   s   | ]}|ˆ d  kV  qdS )r   Nr!   r8   ©Ú	generatedr!   r"   r:   R   s     N)Úranger*   r+   r!   r!   r;   r"   Útest_newrand_defaultI   s    r>   zseed, expected)r   é6   é	   c                 C   s    t | ƒ tdƒ}||kst‚dS )z3Test that `set_seed` produces deterministic resultsr2   N)r   r   r+   )ÚseedÚexpectedr<   r!   r!   r"   Útest_newrand_set_seedU   s    rC   rA   c              	   C   s"   t  t¡� t| ƒ W 5 Q R X dS )z=Test that `set_seed_wrap` is defined for unsigned 32bits intsN)r.   r/   ÚOverflowErrorr   )rA   r!   r!   r"   Útest_newrand_set_seed_overflow]   s    rE   zrange_, n_ptsi'  )r2   é   c                    s¾   t dƒ d}g }tjdˆ d�}t|ƒD ]4}‡ fdd„t|ƒD ƒ}t ||j¡}| |j¡ q&tjddd�}t ||j¡}	|	jdks”td	|	j› d
�ƒ‚t	j
|dd�}
|
dksºtd|
› d�ƒ‚dS )z;Test that `bounded_rand_int` follows a uniform distributioné*   r2   r   )ÚlocÚscalec                    s   g | ]}t ˆ ƒ‘qS r!   r3   r4   ©Úrange_r!   r"   r7   p   s     z1test_newrand_bounded_rand_int.<locals>.<listcomp>r
   gš™™™™™©?z“Null 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=   ZkstestZcdfÚappendZpvaluer+   r)   Z
percentile)rK   Zn_ptsZn_iterZks_pvalsZuniform_distr6   ÚsampleÚresZuniform_p_vals_distZ	res_pvalsZmin_10pct_pvalr!   rJ   r"   Útest_newrand_bounded_rand_intd   s"    ÿ

ÿrQ   rK   c              	   C   s"   t  t¡� t| ƒ W 5 Q R X dS )zETest that `bounded_rand_int_wrap` is defined for unsigned 32bits intsN)r.   r/   rD   r   rJ   r!   r!   r"   Ú$test_newrand_bounded_rand_int_limitsŒ   s    rR   )Tr$   ) Únumpyr)   r.   Zscipyr   Úspr   Zsklearn.linear_modelr   Zsklearn.svmr   Zsklearn.svm._boundsr   Zsklearn.svm._newrandr   r   r   Z
csr_matrixr   r   r   ÚmarkZparametrizer#   r   r1   Z_MAX_UNSIGNED_INTr>   rC   rE   rQ   rR   r!   r!   r!   r"   Ú<module>   s8   




'