
    ri                        d dl mZ d dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZmZmZ d dlmZ d dlmZ  e
       Zej*                  j-                  ej.                        Zej2                  j-                  ej.                        Z ej6                  ej8                  ej.                  	      Zej*                  j-                  ej<                        Zej2                  j-                  ej<                        Z  ej6                  e j8                  ej<                  	      Z!ej<                  ej.                  gZ"d
 Z#d Z$d Z%d Z&d Z'd Z(ejR                  jU                  de      ejR                  jU                  d e&        e'       z         d               Z+ejR                  jU                  d ee"e            d        Z,ejR                  jU                  d e(             d        Z-d Z.y)    )partial)productN)assert_array_equal)	load_iris)ArrayDataset32ArrayDataset64CSRDataset32CSRDataset64)assert_allclose)CSR_CONTAINERS)dtypec                    | j                          |j                          |j                  | j                        }| j                  d   |j                  d   k(  sJ | j                  d   |j                  d   k(  sJ t	        | j
                  |j
                         t	        | j                  |j                         t	        | j                  |j                         y )Nr      )eliminate_zerosastyper   shaper   dataindicesindptr)currentexpecteds     b/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/sklearn/utils/tests/test_seq_dataset.pyassert_csr_equal_valuesr   !   s    w}}-H==x~~a0000==x~~a0000w||X]]3w(8(89w~~x7    c                     | t         j                  k(  rt        t        t        t
        d      S t        t        t        t        d      S N*   seed)
npfloat32r   X32y32sample_weight32r   X64y64sample_weight64float_dtypes    r   _make_dense_datasetr*   ,   s0    bjj c3bAA#sO"==r   c                     |t         j                  k(  rt        t        t        t
        f\  }}}}nt        t        t        t        f\  }}}} | |      } ||j                  |j                  |j                  ||d      S r   )r    r!   r"   r#   r$   r	   r%   r&   r'   r
   r   r   r   )csr_containerr)   Xysample_weightcsr_datasets         r   _make_sparse_datasetr1   2   sg    bjj +._l+R(1m[+._l+R(1m[aAqvvqxxA}2NNr   c                  P    t         D  cg c]  } t        t        |        c} S c c} w N)floatingr   r*   r(   s    r   _dense_dataset_factoriesr5   ;   s    IQR+G'5RRRs   #c            	      z    t        t        t              D  cg c]  \  } }t        t        | |       c}} S c c}} w r3   )r   r   r4   r   r1   )r,   r)   s     r   _sparse_dataset_factoriesr7   ?   s9     +2.(*K&M; 	$m[A  s   7c                      t               t               z   } t        dt        |       d      D cg c]
  }| ||dz     c}S c c}w )Nr      )r5   r7   rangelen)all_factoriesidxs     r   _fused_types_dataset_factoriesr>   F   sA    ,.1J1LLM49!S=OQR4STSM#a(TTTs   A r,   dataset_factoryc                    d} |t               } |        }t        |      D ]  }|j                         \  }}}}	 ||dt         j                  d   f      }
t	        |
||	g          |t
        |	   k(  sJ |t        |	   k(  sJ |j                         \  }}}}	 ||dt         j                  d   f      }
t	        |
||	g          |t
        |	   k(  sJ |t        |	   k(  rJ  y )N   r   )r   )r%   r:   _next_pyr   r   r&   r'   
_random_py)r?   r,   NUMBER_OF_RUNSX_csr64dataset_xi_yiswir=   xis              r    test_seq_dataset_basic_iterationrL   L   s    
 NC GG>" +#,,.Rc3q#))A,&78GSEN3SX~~oc**** $..0Rc3q#))A,&78GSEN3SX~~oc****+r   zfloat_dtype, csr_containerc                    t        |       }t        ||       }t        d      D ]:  }|j                         \  }}}}|j                         \  }}}}||k(  sJ ||k(  r:J  dD ]:  }|j	                         \  }}}}|j	                         \  }}}}||k(  sJ ||k(  r:J  d}|j                  |       |j                  |       g d}	g d}
t        |	|
      D ]u  \  }}|j                         \  }}}}|j                         \  }}}}||k(  sJ ||k(  sJ |j	                         \  }}}}|j	                         \  }}}}||k(  sJ ||k(  ruJ  y )NrA   )   2   	      :   M   )?   [      W      )   }   8   y      )r*   r1   r:   rB   rC   _shuffle_pyzip)r)   r,   dense_datasetsparse_datasetirG   idx1idx2r   idx_nextidx_shufflejs               r   test_seq_dataset_shufflerh   f   s    (4M)-EN1X %..01a&//11aqyyqyy	 " %0021a&1131aqyyqyy	 Dd#t$$H*KHk* 	1%..01a&//11aqyyqyy%0021a&1131aqyyqyy	r   z&dataset_32_factory, dataset_64_factoryc                 \    |         |       }}d}t        |      D ]  }|j                         \  \  }}}}}}|j                         \  \  }}}}	}}|j                  t        j                  k(  sJ |j                  t        j
                  k(  sJ t        ||d       t        |	|d        y )NrA   gh㈵>)rtol)r:   rB   r   r    r!   float64r   )
dataset_32_factorydataset_64_factory
dataset_32
dataset_64rD   rG   	xi_data32yi32	xi_data64yi64s
             r   test_fused_types_consistencyrt      s     013E3G
JN>" 	/(2(;(;(=%Aq4A(2(;(;(=%Aq4A"**,,,"**,,,	948d.	/r   c            
         t        j                  t        d      5  t        t        t
        t        d       d d d        t        j                  t        d      5  t        t        t        t        d       d d d        t        D ]  }  | t              } | t              }t        j                  t        d      5  t        |j                  |j                  |j                  t
        t        d       d d d        t        j                  t        d      5  t!        |j                  |j                  |j                  t        t        d       d d d         y # 1 sw Y   #xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)NzBuffer dtype mismatch)matchr   r   )pytestraises
ValueErrorr   r"   r#   r$   r   r%   r&   r'   r   r
   r   r   r   r	   )r,   X_csr32rE   s      r    test_buffer_dtype_mismatch_errorr{      s(   	z)@	A ;sCr:; 
z)@	A ;sCr:; ( $$]]:-DE 		 ]]:-DE 		 	; ;; ;	 		 	s/   EE&;8E28E>E#&E/2E;	>F	)/	functoolsr   	itertoolsr   numpyr    rw   numpy.testingr   sklearn.datasetsr   sklearn.utils._seq_datasetr   r   r	   r
   sklearn.utils._testingr   sklearn.utils.fixesr   irisr   r   rk   r%   targetr&   arangesizer'   r!   r"   r#   r$   r4   r   r*   r1   r5   r7   r>   markparametrizerL   rh   rt   r{    r   r   <module>r      s       , &  3 .{
iirzz"
kk$"))CHHBJJ7
iirzz"
kk$"))CHHBJJ7JJ

#8>OSU .9/14M4OO+ :+,  '(N"CD ,.L.N//r   