
    Kia                        S SK r S SKJr  S SKJr  S SKrS SKrS SKJr  S SK	r	S SK
Jr  S SKJrJrJr  S SKJrJrJrJrJr  S SKJrJrJr  S S	KJr  S S
KJrJrJ r J!r!J"r"J#r#  S SK$J%r%J&r&  \RN                  " S5      RQ                  S5      r)S r*\RV                  RY                  SSSS\RZ                  " S5      S4/ SQS4/ SQS4SS\." SS5      S4\." S S5      S4\R^                  " / SQ\R`                  S9S4\R^                  " / SQ\Rb                  S9S4\R^                  " / SQ\Rd                  S9S4SS/S4S\R^                  " SS/5      S4S/ S QS4S!\." S"S#5      S4\R^                  " / S Q5      S4\R^                  " / S Q\3S9S4/5      S$ 5       r4S% r5S& r6\#\RV                  RY                  S'\" 5       \S(9S) 5       5       r7\#\RV                  RY                  S'\" 5       \S(9\RV                  RY                  S*S S+S,S-/\R^                  " S,S-/5      \." S,S5      / S.Q\Rp                  " / S/Q5      45      \RV                  RY                  S0S S,/5      S1 5       5       5       5       r9\RV                  RY                  S2/ S3Q5      \RV                  RY                  S4/ S5Q5      S6 5       5       r:\RV                  RY                  S2/ S7Q5      \RV                  RY                  S4/ S5Q5      S8 5       5       r;\RV                  RY                  S2/ S9Q5      \RV                  RY                  S4/ S5Q5      \RV                  RY                  S:S,S/S;S<//5      S= 5       5       5       r<\RV                  RY                  S>SS/5      \RV                  RY                  S?SS/5      \RV                  RY                  S2/ S9Q5      \RV                  RY                  S4S@SA/5      \RV                  RY                  SBS / SCQ/ SDQ/4S,SS-/SESF/SGS//4/5      SH 5       5       5       5       5       r=\RV                  RY                  S2/ S7Q5      \RV                  RY                  S4/ SIQ5      SJ 5       5       r>\RV                  RY                  S2/ S9Q5      \RV                  RY                  S4/ SIQ5      \RV                  RY                  SKS / SCQ/ SDQ/4S,SS-/SESF/SGS//4/5      SL 5       5       5       r?\RV                  RY                  SM/ SNQ5      SO 5       r@\RV                  RY                  S2/ S7Q5      SP 5       rA\RV                  RY                  SM/ SQQ5      \RV                  RY                  S:SS</5      SR 5       5       rB\RV                  RY                  S2/ SSQ5      ST 5       rCSU rD\RV                  RY                  S0SS-/5      SV 5       rE\RV                  RY                  SW/ SXQ5      SY 5       rFSZ rGS[ rH\RV                  RY                  S:S S S,/\." S S5      \R^                  " S S,/5      /5      S\ 5       rI\RV                  RY                  S2/ S]Q5      S^ 5       rJ\RV                  RY                  S_S`Sa\3" 5       Sb4/5      Sc 5       rK\RV                  RY                  SdSe/Sf/SeSf/SeSg/SfSg//5      Sh 5       rLSi rMSj rNSk rOSl rPSm rQSn rRSo rS\RV                  RY                  Sp\&5      Sq 5       rTSr rU\RV                  RY                  Ss\%5      St 5       rVg)u    N)copy)SkipTest)kstest)parse)_safe_indexingresampleshuffle)_convert_to_numpy_get_namespace_device_dtype_idsdevicemove_to)yield_namespace_device_dtype_combinations)_determine_key_type_get_column_indices_safe_assign)MockDataFrame)_array_api_for_tests_convert_containerassert_allcloseassert_allclose_dense_sparseassert_array_equal'skip_if_array_api_compat_not_configured)CSC_CONTAINERSCSR_CONTAINERS	   )   r   c                     [         R                  " SSS9n U R                  / SQ/ SQ/ SQS.SS	9nS
SKJn  S/SS// SQS/S//nU H  n[        XSS9nU" X   U5        M     / SQSS/4/ SQS/4/nU H  u  px[        XSS9nU" USS2U4   U5        M!     S
S/SS/4S/S/4/n	U	 H  u  p[        XSS9nU" USS2U4   U5        M!     S
S/SS/SS//nU H  n[        XS
S9nU" X   U5        M     g)z,Check _safe_indexing for polars as expected.polarsz0.18.2)
minversion)      r      )r"            )r    r"   r    
   abcrow)orientr   )assert_frame_equalr)   r(   )r)   r(   r*   r*   r    axisTFT)FFTNr!   r   )pytestimportorskip	DataFramepolars.testingr-   r   )pldfr-   str_keyskeyout	bool_keysbool_keystr_keyint_keysint_keyaxis_0_keyss               c/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/sklearn/utils/tests/test_indexing.pytest_polars_indexingrA   '   sD   			X(	;B	MB5 
 
B 2Sz?SEC5AHR1-27C(  &Sz25IC54QRI&R22aj>3/ ' Q#s$sSEl3H$Rq12aj>3/ % q6Aq6Aq6*KR1-27C(     z
key, dtype)r   int)0str)TboolTrF   r   r    r!   rC   rD   12rE   )rG   rC   )rH   rE   r!   dtypeF))TFrF   )col_0rE   rM   col_1col_2)rN   rE   beginendc                 &    [        U 5      U:X  d   eg N)r   )r8   rL   s     r@   test_determine_key_typerU   H   s    8 s#u,,,rB   c                      [         R                  " [        SS9   [        S5        S S S 5        g ! , (       d  f       g = f)NNo valid specification of thematch      ?)r1   raises
ValueErrorr    rB   r@   test_determine_key_type_errorr^   g   s&    	z)H	IC  
J	I	Is   /
=c                      [         R                  " [        SS9   [        [	        SSS5      SS9  S S S 5        g ! , (       d  f       g = f)NzOnly array-like or scalar arerX   r   r!   r    F)accept_slice)r1   r[   	TypeErrorr   slicer]   rB   r@   #test_determine_key_type_slice_errorrc   l   s0    	y(G	HE!QN? 
I	H	Hs	   9
Az$array_namespace, device_, dtype_name)idsc                    [        X5      n[        R                  " SS9   UR                  / SQUS9n[	        U5      S:X  d   eUR                  / SQUS9n[	        U5      S:X  d   e UR                  / SQUS9nUb-  [        R                  " [        S	S
9   [	        U5        S S S 5        S S S 5        g ! [
         a    S n NGf = f! , (       d  f       N)= f! , (       d  f       g = f)NTarray_api_dispatchr    r!   r   )r   rC   r0   rF   )y      ?      ?y       @       @y      @      @rW   rX   )	r   sklearnconfig_contextasarrayr   ra   r1   r[   r\   )array_namespacedevice_
dtype_namexpint_array_keybool_array_keycomplex_array_keys          r@   !test_determine_key_type_array_apirs   q   s     
o	7B			4	8

9W
="=1U:::$7H">2f<<<	% "

+CG
 T
 (z1PQ#$56 R 
9	8  	% $	%
 RQ 
9	8sH   AC(B3:CC"C3C?CCC
C	C
C$indexing_keyr    r   )TFTT)FFFFr/   c                    [        X5      n[        R                  " S5      R                  SS5      n[	        XcUS9n[        XeUS9n[        R                  " SS9   [	        XUS9n	[        U	5      [        U5      :X  d   eU	R                  UR                  :X  d   e S S S 5        [        [        W	US9U5        g ! , (       d  f       N#= f)N   r"   r.   )ro   r   Trf   )ro   )r   nparangereshaper   r   ri   rj   r   rL   r   r
   )
rl   rm   rn   rt   r/   ro   array_to_index_npexpected_resultarray_to_index_xpindexed_array_xps
             r@   $test_safe_indexing_array_api_supportr      s    , 
o	7B		"--a3$%64PO 1I			4	8)*;PTU&'62C+DDDD%%):)@)@@@@ 
9
 %&62>P 
9	8s   AB99
C
array_type)listarraysparse	dataframer   pyarrowindices_type)r   tupler   seriesrb   c                     SS/nUS:X  a%  [        US   [        5      (       a  US==   S-  ss'   [        / SQ/ SQ/ SQ/U 5      n[        X!5      n[        X2SS9n[	        U[        / SQ/ SQ/U 5      5        g )	Nr    r!   rb   rh   r"   r#   r$      r%   r   r   r.   
isinstancerC   r   r   r   r   r   indicesr   subsets        r@   &test_safe_indexing_2d_container_axis_0r      su    
 !fGw:gaj##>#>
a
	9i@*ME 7GE3F "Iy#9:FrB   )r   r   r   polars_seriespyarrow_arrayc                     SS/nUS:X  a%  [        US   [        5      (       a  US==   S-  ss'   [        / SQU 5      n[        X!5      n[        X2SS9n[	        U[        SS/U 5      5        g )Nr    r!   rb   	r    r!   r   r"   r#   r$   r   r%   r   r   r.   r   r   r   s        r@   test_safe_indexing_1d_containerr      sk    
 !fGw:gaj##>#>
a
:JGE 7GE3F );QFJ)OPrB   )r   r   r   r   r   r   rO   rP   c           	         [        U5      nUS:X  a%  [        US   [        5      (       a  US==   S-  ss'   / SQn[        / SQ/ SQ/ SQ/X5      n[        X15      n[        US   [        5      (       a5  U S;   a/  S	n[
        R                  " [        US
9   [        XSSS9  S S S 5        g [        XSSS9n[        U[        SS/SS/SS//U 5      5        g ! , (       d  f       g = f)Nrb   r    rN   rh   r   r   r   r   r   ESpecifying the columns using strings is only supported for dataframesrX   r.   r!   r   r#   r$   r%   r   )
r   r   rC   r   rE   r1   r[   r\   r   r   )r   r   r   indices_convertedcolumns_namer   err_msgr   s           r@   &test_safe_indexing_2d_container_axis_1r      s     Ww:gaj##>#>!!.L	Iy):E ++<K'!*c""z5H'HS 	 ]]:W55!< 65  qA$&AAA'?L	
	 65s   C
C array_read_onlyindices_read_onlyr   r   zaxis, expected_arrayr   r   r#   r$   r%   c                 4   [         R                  " / SQ/ SQ/ SQ/5      nU (       a  UR                  SS9  [        Xb5      n[         R                  " SS/5      nU(       a  UR                  SS9  [        Xs5      n[	        XgUS9n[        U[        XR5      5        g )	Nrh   r   r   F)writer    r!   r.   )rx   r   setflagsr   r   r   )	r   r   r   r   r/   expected_arrayr   r   r   s	            r@   &test_safe_indexing_2d_read_only_axis_1r      s     HHiI67EU#u1Ehh1vGu% 7GE6F );N)WXrB   )r   r   r   r   c                     S/S/S-  -   S/S-  -   n[        / SQU 5      n[        X!5      n[        X2SS9n[        U[        SS/U 5      5        g )	NFTr!   r$   r   r   r.   r   r   r   r   r   s        r@   $test_safe_indexing_1d_container_maskr     sZ    
 g
"eWq[0G:JGE 7GE3F );QFJ)OPrB   zaxis, expected_subsetc                     / SQn[        / SQ/ SQ/ SQ/X5      n/ SQn[        Xa5      n[        XVUS9n[        U[        X05      5        g )NrN   rh   r   r   )FTTr.   r   )r   r   r/   expected_subsetr   r   r   r   s           r@   test_safe_indexing_2d_maskr     sO     /L	Iy):E "G 7GE6F "??rB   z array_type, expected_output_type))r   r   r   r   r   r   r   r   r   r   r   r   c                 x    [        / SQ/ SQ/ SQ/U 5      nSn[        X#SS9n[        / SQU5      n[        XE5        g )Nrh   r   r   r!   r   r.   r   )r   expected_output_typer   r   r   r   s         r@   #test_safe_indexing_2d_scalar_axis_0r   '  s=     	9i@*MEGE3F'	3GHN 8rB   c                 H    [        / SQU 5      nSn[        XSS9nUS:X  d   eg )Nr   r!   r   r.   r   )r   r   )r   r   r   r   s       r@   test_safe_indexing_1d_scalarr   :  s.     :JGEGE3FQ;;rB   )r   r   r   r   r   c                 P   / SQn[        / SQ/ SQ/ SQ/X5      n[        U[        5      (       a5  U S;   a/  Sn[        R                  " [
        US9   [        XBSS	9  S S S 5        g [        XBSS	9n/ S
QnUS:X  a  S/S/S//n[        Xq5      n[        Xh5        g ! , (       d  f       g = f)NrN   rh   r   r   r   r   rX   r    r.   )r   r$   r   r   r   r$   r   )r   r   rE   r1   r[   r\   r   r   )	r   r   r   r   r   r   r   expected_outputr   s	            r@   #test_safe_indexing_2d_scalar_axis_1r   D  s     /L	Iy):E '3J2E$ES 	 ]]:W552 65  Q7#8+ !sQC!oO+OR$V< 65s   B
B%)r   r   r   c                 Z    [        / SQ/ SQ/ SQ/U 5      n[        US SS9n[        X!5        g )Nrh   r   r   r   r.   r   )r   XX_subsets      r@   test_safe_indexing_None_axis_0r   e  s+    Iy)<jIAaA.H -rB   c                      [         R                  " S5      n SnU R                  [        5      n[         R                  " [
        US9   [        US/SS9  S S S 5        g ! , (       d  f       g = f)Npandasz&No valid specification of the columns.rX   rZ   r    r.   )r1   r2   r3   X_toyr[   r\   r   )pdr   r   s      r@   0test_safe_indexing_pandas_no_matching_cols_errorr   l  sM    			X	&B6G
UA	z	1q3%a( 
2	1	1s   A
A+c                     [         R                  " [        SS9   [        [        SS/U S9  S S S 5        g ! , (       d  f       g = f)Nz'axis' should be either 0rX   r   r    r.   )r1   r[   r\   r   r   r.   s    r@   test_safe_indexing_error_axisr   t  s.    	z)D	Euq!f40 
F	E	Es	   5
AX_constructor)r   r   r   r   c                    [        [        S5      5      nU S:X  a  [        R                  " U5      n OU S:X  a(  [        R
                  " S5      nUR                  U5      n OYU S:X  a&  [        R
                  " S5      nUR                  US9n O-U S:X  a'  [        R
                  " S	5      nUR                  U5      n S
n[        R                  " [        US9   [        U SS/SS9  S S S 5        g ! , (       d  f       g = f)Nr#   r   r   r   r   r   )valuesr   r   z='X' should be a 2D NumPy array, 2D sparse matrix or dataframerX   r   r    r.   )r   rangerx   rk   r1   r2   Seriesr   r[   r\   r   )r   r   r   r5   par   s         r@   !test_safe_indexing_1d_array_errorr   z  s     	U1XA

1	(	"  *		!	/	)  *			+	/	)  +MG	z	1}q!f15 
2	1	1s   C++
C9c                      SS/n / SQ/ SQ/ SQ/nSn[         R                  " [        US9   [        XSS	9  S S S 5        g ! , (       d  f       g = f)
NrO   rP   rh   r   r   z/String indexing.*is not supported with 'axis=0'rX   r   r.   r1   r[   r\   r   )r   r   r   s      r@   4test_safe_indexing_container_axis_0_unsupported_typer     sA     G	9-E@G	z	1uA. 
2	1	1s	   ?
Ac                  z   [         R                  " S5      n [        U R                  5      n[        UR                  5      nU[        S5      :  a  [        S5      eU R                  / SQ/ SQS.5      n[        USS/SS	9n[        U R                  S
5      (       a  U R                  R                  nO U R                  R                  R                  n[        R                  " 5          [        R                  " SU5        SUR                   S'   S S S 5        UR                   S   S:X  d   eg ! , (       d  f       N$= f)Nr   3z;SettingWithCopyWarning has been removed in pandas 3.0.0.devrh   )r   r"   r#   )r(   r)   r   r    r.   SettingWithCopyWarningerrorr&   )r   r   )r1   r2   parse_version__version__base_versionr   r3   r   hasattrerrorsr   corecommonwarningscatch_warningssimplefilteriloc)r   
pd_versionpd_base_versionr   r   r   s         r@   4test_safe_indexing_pandas_no_settingwithcopy_warningr     s     
		X	&Br~~.J#J$;$;<O-,,TUU
9956AA1vA.Fryy233!#!A!A "$!F!F		 	 	"g'=>D 
# 66$<1	 
#	"s   ''D,,
D:c                     SS/SS/SS//nSn[         R                  " [        US9   [        XSS	9  S
S
S
5        g
! , (       d  f       g
= f)z@Check that we raise a ValueError when axis=1 with input as list.r    r!   r"   r#   r   r%   z!axis=1 is not supported for listsrX   r.   Nr   )r   r   r   s      r@   *test_safe_indexing_list_axis_1_unsupportedr     sE     Q!Q!Q A1G	z	1q* 
2	1	1s	   ;
A	)r   r   r   c                 t   [         R                  R                  S5      nUR                  SS5      nSS/nUR                  [	        U5      UR
                  S   5      n[        X 5      n[        XTUS9  [        XSSS9n[        U[        X@5      5        SS/nUR                  UR
                  S   [	        U5      5      n[        X 5      n[        XTUS9  [        XWSS9n[        U[        X@5      5        S	u  p7UR                  " UR
                  6 n[        X 5      n[        XTUS9  [        U[        X@5      5        g
)z,Check that `_safe_assign` works as expected.r   r&   r#   r    r!   )row_indexerr.   )column_indexer)NNN)
rx   randomRandomStaterandnlenshaper   r   r   r   )r   rngX_arrayr   r   r   assigned_portionr   s           r@   test_safe_assignr     s     ))


"CiiAGa&KYYs;'q)9:F7/A4%a1= ,V@ VNYYw}}Q'^)<=F7/A>:%aa@ ,V@ #-KYY F7/A>: $6v$JKrB   zkey, err_msg)r&   z all features must be in \[0, 2\])whatever/A given column is not a column of the dataframez%No valid specification of the columnsc                     [         R                  " S5      nUR                  [        / SQS9n[         R                  " [
        US9   [        X05        S S S 5        g ! , (       d  f       g = f)Nr   rN   columnsrX   )r1   r2   r3   r   r[   r\   r   )r8   r   r   X_dfs       r@   test_get_column_indices_errorr     sI     
		X	&B<<'B<CD	z	1D& 
2	1	1s   A
A)r8   col1col2col3c                 ^   [         R                  " S5      n[        R                  " S[        S9n/ SQnUR                  X#S9nSR                  U 5      n[         R                  " [        5       n[        X@5        S S S 5        [        WR                  5      U:X  d   eg ! , (       d  f       N*= f)Nr   )r    r#   rK   )r   r   r   r   r   r   z1Selected columns, {}, are not unique in dataframe)r1   r2   rx   zerosrC   r3   formatr[   r\   r   rE   value)r8   r   toyr   r   r   exc_infos          r@   6test_get_column_indices_pandas_nonunique_columns_errorr     s     
		X	&B
((6
%C6G
S*AAHHMG	z	"hA# 
#x~~'))) 
#	"s   .B
B,c            
         [         R                  " S5      n U R                  / SQ/ SQ// SQS9n[        SS5      SS/4[        SS5      S	S/4[        SS5      S/4S
S/SS/4[        SS
5      S	S/4[        SS5      / SQ4[        SS5      S	/4SS/SS	/4/ / 4/	nU H  u  p4[	        X5      U:X  a  M   e   Sn[         R
                  " [        US9   [	        US/5        SSS5        Sn[         R
                  " [        US9   [	        U[        SSS5      5        SSS5        g! , (       d  f       NJ= f! , (       d  f       g= f)z=Check _get_column_indices for edge cases with the interchanger   rh   r   r'   )schemar    Nr!   r   r)   r*   r(   rG   r   rX   not_a_columnzkey.step must be 1 or None)r1   r2   r3   rb   r   r[   r\   NotImplementedError)r5   r6   key_resultsr8   resultmsgs         r@   #test_get_column_indices_interchanger    sL   			X	&B 
y),_	EB 
q$!Q 	tQ!Q 	q!qc
saV	sC1a&!	sD	9%	tS	A3
saV	R
K #"2+v555 # <C	z	-B 01 
. 'C	*#	6Bc4 34 
7	6	 
.	- 
7	6s   D#D4#
D14
Ec                  b   [        5       b   e[        R                  " [        5         [        S/SS/5        S S S 5        [        R                  " [        5         [        SS/SS/SSS9  S S S 5        [	        [        SS/SS95      S:X  d   eg ! , (       d  f       N]= f! , (       d  f       N;= f)	Nr   r    Fr   )replace	n_samplesr!   r#   )r	  )r   r1   r[   r\   r   r]   rB   r@   test_resampler
    s    : 
z	"!q!f 
#	z	"!Q!Q!< 
# xA!,-222 
#	"	"	"s   BB 
B 
B.c                  Z   [         R                  " / SQ5      n [         R                  " / SQ5      n/ n/ n[        S5       H  nUR	                  [        U R                  U5      SUU R                  S   S9R                  5       5        UR	                  [        U USUU R                  S   S9R                  5       5        M     [         R                  " U5      n[         R                  " U5      n[        X#5      n[         R                  " US:  5      (       d   eUR                  S:  d   eg )	N)ru   r   r    )r   d   r    r  Tr   )r  random_stater	  )sample_weightr  r  r	  g?)rx   r   rk   r   appendr   repeatr   meanr   allpvalue)datar  mean_repeatedmean_reweightedseedtest_results         r@   test_resample_weightedr  )  s    88JDJJ{+MMOc
M*!**Q-	
 df	
 	+!**Q- df	
 & JJ}-Mjj1O8K66/Q&'''' $$$rB   c                  |   [         R                  R                  S5      n SnSnU R                  US4S9nU R	                  SX!S9n[        X4SSS S9u  pV[         R                  " US:H  5      (       d   e[        X4SSUS9u  pW[         R                  " US:H  5      (       a   e[         R                  " U5      S:X  d   eg )	Nr   r  g?r    sizer&   r	  r  stratifyr   )rx   r   r   normalbinomialr   r  sum)r   r	  pr   y_y_not_stratifiedy_stratifieds           r@   test_resample_stratifiedr'  Q  s    
))


"CIA

A
'AQ*A"12APTUA66"a'((((qrANOAvvla'((((66,1$$$rB   c            	         [         R                  R                  S5      n SnU R                  US4S9nU R	                  SSUS9n[        X#SSXS9u  pE[        X#S	SXS9u  pe[         R                  " U5      R                  S   S:  d   e[         R                  " U5      R                  S   S:X  d   e[        X#SS
XS9u  pEUR                  S   S
:X  d   e[         R                  " U5      R                  S   S:X  d   eg )Nr   r  r    r  r!   T2   )r  r	  r  r  Fi  )rx   r   r   r  randintr   uniquer   )r   r	  r   r#  	X_replacer$  X_no_replaces          r@    test_resample_stratified_replacer.  a  s   
))


"CI

A
'AAqy)A	dbsLI 	erOL 99Y%%a(2---99\"((+r111 	ddLI ??1%%%99Y%%a(C///rB   c                      [         R                  R                  S5      n SnU R                  US4S9nU R	                  SSUS4S9n[        X#SXS9u  p#UR                  S:X  d   eg )Nr   r  r    r  r!   r)  r  )rx   r   r   r  r*  r   ndim)r   r	  r   r#  s       r@   test_resample_stratify_2dyr1  z  sg    
))


"CI

A
'AAq	1~.AABSEDA66Q;;rB   c                     [         R                  " [        SS9   [        SS/SS/SS/SS9  S S S 5        [         R                  " [        SS9   [        SS/SS/SS/SS/S9  S S S 5        g ! , (       d  f       NE= f! , (       d  f       g = f)	NzCResampling with sample_weight is only implemented for replace=True.rX   r   r    F)r  r  zCResampling with sample_weight is only implemented for stratify=None)r  r  )r1   r[   r  r   r]   rB   r@   test_notimplementederrorr3    s    	S
 	!Q!Q1vuE	
 
S
 	!Q!Q1vAG	
 

 

 
s   A,A=,
A:=
Bcsr_containerc           	      :   [         R                  R                  S5      nSnUR                  US4S9nUR	                  SSUS9nU " UR                  SS5      5      n[        R                  " [        SS9   [        X4S	XS
9u  p4S S S 5        g ! , (       d  f       g = f)Nr   r  r!   r  ru   r    zSparse data was passedrX   r)  r  )
rx   r   r   r  r*  rz   r1   r[   ra   r   )r4  r   r	  r   r#  r  s         r@   #test_resample_stratify_sparse_errorr6    s     ))


"CI

A
'AAqy)AQYYr1-.H	y(@	AP 
B	A	As   5B
Bc                      S n [         R                  " SS/SS//SS/SS	///5      n[        U " U5      5      n[        U5        [        U " U5      5      U:X  d   eg )
Nc                 &    [        S U  5       5      $ )Nc              3   F   #    U  H  n[        S  U 5       5      v   M     g7f)c              3   8   #    U  H  n[        U5      v   M     g 7frT   r   ).0Cs     r@   	<genexpr>Ptest_shuffle_on_ndim_equals_three.<locals>.to_tuple.<locals>.<genexpr>.<genexpr>  s     /Q588Qs   Nr;  )r<  Bs     r@   r>  Ftest_shuffle_on_ndim_equals_three.<locals>.to_tuple.<locals>.<genexpr>  s     ;AU/Q///s   !r;  )As    r@   to_tuple3test_shuffle_on_ndim_equals_three.<locals>.to_tuple  s    ;;;;rB   r    r!   r   r"   r#   r$   r   r%   )rx   r   setr	   )rC  rB  Ss      r@   !test_shuffle_on_ndim_equals_threerG    sb    < 	Aq6Aq6"aVaV$456AHQKAAJx{q   rB   csc_containerc           	         / SQn[         R                  " / SQ[        S9n/ SQn[        [         R                  " SS/SS/SS	//[        S95      nU " [         R                  " S
5      R                  SS	5      5      n[        XX4USS9u  pgpn
U/ SQ:X  d   e[        U5      [        :X  d   e[        U/ SQ5        UR                  [        :X  d   eU/ SQ:X  d   e[        U5      [        :X  d   e[        U	[         R                  " SS	/SS/SS//[        S95        [        U	5      [        :X  d   e[        U
R                  5       [         R                  " SS/S	S/SS//5      5        g )Nr'   rK   rh   r(   r   r)   r    r*   r!   r$   r   )r  )r*   r)   r(   )r   r!   r    r"   r#   )rx   r   objectr   ry   rz   r	   typer   r   rL   toarray)rH  r(   r)   r*   dea_sb_sc_sd_se_ss              r@   "test_shuffle_dont_convert_to_arrayrT    s>    	A
/AAbhha3(S!H=VLMAbiil**1a01A%aA!!DCc/!!!9sO,99)9sBHHsAha3(%C6RS9%%%s{{}bhhAAA/G&HIrB   )Wr   r   unittestr   numpyrx   r1   scipy.statsr   ri   $sklearn.externals._packaging.versionr   r   sklearn.utilsr   r   r	   sklearn.utils._array_apir
   r   r   r   r   sklearn.utils._indexingr   r   r   sklearn.utils._mockingr   sklearn.utils._testingr   r   r   r   r   r   sklearn.utils.fixesr   r   ry   rz   r   rA   markparametrizebool_rb   r   int32int64uint8rJ  rU   r^   rc   rs   rk   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r'  r.  r1  r3  r6  rG  rT  r]   rB   r@   <module>re     s          G ; ;  
 1  ? 			!V$)B 	$ 	E	%  	tT	D!	q!e	)288	,e4	)288	,e4	)288	,e4
	4-	 &)	$e,,	w	&	-	.6	-V	<eD-6-76-!
@
 )*-/'  
7 )7* )*-/'  
 	
	
A
!Qa!


/0 !Q(Q ) )&Q" O )VW	 X	 O )VWQ XQ G )VWaVgw-?$@A
 B X

4 *T5M:,tUm<G '8)<=a)Y!7811v1vPQSTv>V:WXY > = ;Y O )MNQ OQ G )MN)Y	 11v1v1v&>"?@	 O &
9
9 O &	 QL1= 2	=, 'BC. D.) $+1 ,1
 J66*/2 QAaRXXq!f=M$NO+ P+ 'GHL ILB 1G	:;'' 	VHvh 0662BVVDTU	*	*5<3%%P% 02H .9Q :Q! .9J :JrB   