
    -i                        S SK Jr  S SKrS SKrS SKJr  S SKJr  S SK	J
r
JrJrJr  S SKJr  S SKJr  \" 5       r\R&                  R)                  \R*                  5      r\R.                  R)                  \R*                  5      r\R2                  " \R4                  \R*                  S9r\R&                  R)                  \R8                  5      r\R.                  R)                  \R8                  5      r\R2                  " \R4                  \R8                  S9r\R8                  \R*                  /r S	 r!S
 r"S r#S r$S r%S r&\RN                  RQ                  S\5      \RN                  RQ                  S\$" 5       \%" 5       -   5      S 5       5       r)\RN                  RQ                  S\" \ \5       V Vs/ s H  u  p\"" U 5      \#" X5      4PM     snn 5      S 5       r*\RN                  RQ                  S\&" 5       5      S 5       r+S r,gs  snn f )    )productN)assert_array_equal)	load_iris)ArrayDataset32ArrayDataset64CSRDataset32CSRDataset64)assert_allclose)CSR_CONTAINERS)dtypec                    U R                  5         UR                  5         UR                  U R                  5      nU R                  S   UR                  S   :X  d   eU R                  S   UR                  S   :X  d   e[	        U R
                  UR
                  5        [	        U R                  UR                  5        [	        U R                  UR                  5        g )Nr      )eliminate_zerosastyper   shaper   dataindicesindptr)currentexpecteds     W/var/www/html/venv/lib/python3.13/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                     U [         R                  :X  a  [        [        [        [
        SS9$ [        [        [        [        SS9$ 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           	          U[         R                  :X  a  [        [        [        [
        4u  p#pEO[        [        [        [        4u  p#pEU " U5      nU" UR                  UR                  UR                  X4SS9$ 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_datasetr0   1   s_    bjj +._l+R(m[+._l+R(maAqvvqxxA2NNr   c                  L    [          V s/ s H  n [        U 5      PM     sn $ s  sn f N)floatingr)   r'   s    r   _make_dense_datasetsr4   :   s     @HI,IIIs   !c                  r    [        [        [        5       V Vs/ s H  u  p[        X5      PM     snn $ s  snn f r2   )r   r   r3   r0   )r+   r(   s     r   _make_sparse_datasetsr6   >   s8     +2.(*K*K&M 	]8*K  s   3c                  n   ^  [        5       [        5       -   m U 4S j[        S[        T 5      S5       5       $ )Nc              3   2   >#    U  H  nTXS -    v   M     g7f)   N ).0idxall_datasetss     r   	<genexpr>-_make_fused_types_datasets.<locals>.<genexpr>H   s     R3QCLQw'3Qs   r   r9   )r4   r6   rangelen)r=   s   @r   _make_fused_types_datasetsrB   E   s-    '),A,CCLR5C<Mq3QRRr   r+   datasetc                    SnU" [         5      n[        U5       H  nU R                  5       u  pVpxU" US[         R                  S   4S9n	[	        XU/   5        U[
        U   :X  d   eU[        U   :X  d   eU R                  5       u  pVpxU" US[         R                  S   4S9n	[	        XU/   5        U[
        U   :X  d   eU[        U   :X  a  M   e   g )N   r   )r   )r$   r@   _next_pyr   r   r%   r&   
_random_py)
rC   r+   NUMBER_OF_RUNSX_csr64_xi_yiswir<   xis
             r    test_seq_dataset_basic_iterationrO   K   s     NC G>"#,,.3q#))A,&78SEN3SX~~oc**** $..03q#))A,&78SEN3SX~~oc**** #r   zdense_dataset,sparse_datasetc                 j   [        S5       H9  nU R                  5       u      p4UR                  5       u      p5XB:X  d   eXR:X  a  M9   e   S H9  nU R                  5       u      p4UR                  5       u      p5XB:X  d   eXR:X  a  M9   e   SnU R                  U5        UR                  U5        / SQn/ SQn[	        Xx5       Hq  u  p)U R                  5       u      p4UR                  5       u      p5XB:X  d   eXR:X  d   eU R                  5       u      p4UR                  5       u      p5XI:X  d   eXY:X  a  Mq   e   g )NrE   )   2   	      :   M   )?   [      W      )   }   8   y      )r@   rF   rG   _shuffle_pyzip)
dense_datasetsparse_datasetirJ   idx1idx2r   idx_nextidx_shufflejs
             r   test_seq_dataset_shufflerk   b   sL    1X%..01a&//11ayyyy	  "%0021a&1131ayyyy	 " Dd#t$$H*KH*%..01a&//11ayyyy%0021a&1131ayyyy +r   zdataset_32,dataset_64c                 4   Sn[        U5       H  nU R                  5       u  u  n  p5  nUR                  5       u  u  n  p7  nUR                  [        R                  :X  d   eUR                  [        R
                  :X  d   e[        XdSS9  [        XuSS9  M     g )NrE   gh㈵>)rtol)r@   rF   r   r   r    float64r
   )
dataset_32
dataset_64rH   rJ   	xi_data32yi32	xi_data64yi64s           r   test_fused_types_consistencyru      s    N>"(2(;(;(=%AqA(2(;(;(=%AqA"**,,,"**,,,	48. #r   c                     [         R                  " [        SS9   [        [        [
        [        SS9  S S S 5        [         R                  " [        SS9   [        [        [        [        SS9  S S S 5        [         H  n U " [        5      nU " [        5      n[         R                  " [        SS9   [        UR                  UR                  UR                  [
        [        SS9  S S S 5        [         R                  " [        SS9   [!        UR                  UR                  UR                  [        [        SS9  S S S 5        M     g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       GM  = f)NzBuffer dtype mismatch)matchr   r   )pytestraises
ValueErrorr   r!   r"   r#   r   r$   r%   r&   r   r	   r   r   r   r   )r+   X_csr32rI   s      r    test_buffer_dtype_mismatch_errorr|      s   	z)@	AsCr: 
B 
z)@	AsCr: 
B ($$]]:-DE F ]]:-DE FE ( 
B	A 
B	A FE FEs/   EE/5E*5E;
E
E'*
E8	;
F	)-	itertoolsr   numpyr   rx   numpy.testingr   sklearn.datasetsr   sklearn.utils._seq_datasetr   r   r   r	   sklearn.utils._testingr
   sklearn.utils.fixesr   irisr   r   rn   r$   targetr%   arangesizer&   r    r!   r"   r#   r3   r   r)   r0   r4   r6   rB   markparametrizerO   rk   ru   r|   )r(   r+   s   00r   <module>r      s      , &  3 .{
iirzz"
kk$))CHHBJJ7
iirzz"
kk$))CHHBJJ7JJ

#8>OJS .9$8$:=R=T$TU+ V :+* " +2(N*K
 +L&K  , <	
 +L		@ 02L2NO/ P/os   2H