ó
    ƒñ:iá7  ã                   ó  • S r SSKrSSKJr  SSKJr  SSKJr  SSKJ	r
  SSKrSSKrSSKrSSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  S rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S  r*S! r+g)"zJBasic tests for slicer.
An unholy balance of use cases and test coverage.
é    Né   )ÚAtomicSlicer)ÚSlicer)ÚAlias)ÚObj)Ú
csc_matrix)Ú
csr_matrix)Ú
dok_matrix)Ú
lil_matrix)Úctr_eqc                  ó”  • [         R                  " [         R                  " SS/5      [         R                  " / SQ5      /[        S9n [         R                  " [         R                  " / SQ5      /5      n[        XS9nUS   n[	        UR
                  US   S   5      (       d   e[	        UR                  U S   S   5      (       d   eg )Nr   r   )é   é   é   )Údtype)é   é   é   )ÚvaluesÚdata©r   r   )ÚnpÚarrayÚobjectÚSr   r   r   )r   r   ÚslicerÚsliceds       ÚU/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/slicer/test_slicer.pyÚtest_slicer_ragged_numpyr      sª   € Ü�XŠXÜ
�Š�!�Q�ÓÜ
�Š’Óðô ñ€Fô �8Š8Ü
�Š’Óðó €Dô �fÑ(€FØ�D‰\€Fä�&—+‘+˜t A™w q™z×*Ñ*Ð*Ð*Ü�&—-‘- ¨¡¨1¡×.Ñ.Ð.Ñ.ó    c            
      óæ  • SS/SS//n SS/SS//nS	S	/nS
S/nSS/nSn[        U U[        US5      [        US5      [        US5      US9nUS S 2S4   nUR                  SS/:X  d   eUR                  S
S/:X  d   eUR                  S:X  d   eUR
                  SS/:X  d   eUS   nUR                  SS/:X  d   eUR                  S
S/:X  d   eUR                  S:X  d   eUR
                  SS/:X  d   eUSS/S4   n	U	R                  SS/:X  d   eU	R                  S:X  d   eU	R                  S
S/:X  d   eU	R
                  SS/:X  d   eUS   n
U
R                  S:X  d   eU
R                  S:X  d   eU
R                  S
:X  d   eU
R
                  S:X  d   eUS   n
U
R                  SS/:X  d   eU
R                  S:X  d   eU
R                  S
S/:X  d   eU
R
                  SS/:X  d   eUS S  S S 2S4   nUR                  SS/:X  d   eUR                  S:X  d   eUR                  S
S/:X  d   eUR
                  SS/:X  d   eUS	   S S 2S4   n
U
R                  SS/:X  d   eU
R                  S:X  d   eU
R                  S
S/:X  d   eU
R
                  SS/:X  d   eUS
   n
U
S   n
U
R                  S:X  d   eU
R                  S:X  d   eU
R                  S
:X  d   eU
R
                  S:X  d   eg )Nr   r   r   r   r   r   r   é   Úid1Úr1Úr2Úf1Úf2ÚAr   ©r   r   ÚidentifiersÚinstance_namesÚfeature_namesÚ	full_name©.r   )r$   r'   )r#   r'   )r   r(   r   r+   r,   r   )r   r   r*   r+   r,   r-   r   Úcolon_actualÚellipses_actualÚarray_index_actualÚalias_actualÚchained_actuals               r   Útest_slicer_basicr4   )   s´  € Ø�ˆF�Q˜�FÐ€DØ�!ˆf�q˜!�fÐ€FØ˜%�.€KØ˜D�\€NØ˜4�L€MØ€IäØØÜ�k 1Ó%Ü˜¨Ó+Ü˜ qÓ)Øñ€Fð š!˜Q˜$‘<€LØ×Ñ  A Ó&Ð&Ð&Ø×&Ñ&¨4°¨,Ó6Ð6Ð6Ø×%Ñ%¨Ó-Ð-Ð-Ø×Ñ 1 a &Ó(Ð(Ð(à˜V‘n€OØ×Ñ A q 6Ó)Ð)Ð)Ø×)Ñ)¨d°D¨\Ó9Ð9Ð9Ø×(Ñ(¨DÓ0Ð0Ð0Ø×!Ñ! a¨ VÓ+Ð+Ð+à  A ¨ 	Ñ*ÐØ×"Ñ" q¨! fÓ,Ð,Ð,Ø×+Ñ+¨tÓ3Ð3Ð3Ø×,Ñ,°°t°Ó<Ð<Ð<Ø×$Ñ$¨¨A¨Ó.Ð.Ð.à˜*Ñ%€LØ×Ñ Ó!Ð!Ð!Ø×%Ñ%¨Ó-Ð-Ð-Ø×&Ñ&¨$Ó.Ð.Ð.Ø×Ñ !Ó#Ð#Ð#à˜+Ñ&€LØ×Ñ  A Ó&Ð&Ð&Ø×%Ñ%¨Ó-Ð-Ð-Ø×&Ñ&¨4°¨,Ó6Ð6Ð6Ø×Ñ 1 a &Ó(Ð(Ð(à™A�Yšq !˜t‘_€NØ×Ñ 1 a &Ó(Ð(Ð(Ø×'Ñ'¨4Ó/Ð/Ð/Ø×(Ñ(¨T°4¨LÓ8Ð8Ð8Ø× Ñ  Q¨ FÓ*Ð*Ð*à˜%‘=¢ D Ñ)€LØ×Ñ  A Ó&Ð&Ð&Ø×%Ñ%¨Ó-Ð-Ð-Ø×&Ñ&¨4°¨,Ó6Ð6Ð6Ø×Ñ 1 a &Ó(Ð(Ð(à˜$‘<€LØ Ñ%€LØ×Ñ Ó!Ð!Ð!Ø×%Ñ%¨Ó-Ð-Ð-Ø×&Ñ&¨$Ó.Ð.Ð.Ø×Ñ !Ó#Ð#Ñ#r    c                  ó˜  • / SQn / SQn[        X5      nUS   R                  u  p4US:X  d   eUS:X  d   e[        R                  " SS/SS//5      n[        R                  " SS/S	S
//5      n[        XV5      nUS S 2S4   R                  u  px[	        UR
                  SS/5      (       d   e[	        UR
                  SS	/5      (       d   eg )N©r   r   r   ©r   r   r   r   r   r   r   r   r   r   r"   r   )r   ÚoÚpdÚ	DataFramer   r   )	ÚaÚbr   Úactual_aÚactual_bÚdf1Údf2Úactual_1Úactual_2s	            r   Útest_slicer_unnamedrC   l   sÆ   € Ú€AÚ€Aäˆq‹W€FØ ™Ÿ™Ñ€HØ�q‹=Ðˆ=Ø�q‹=Ðˆ=ä
�,Š,˜˜A˜  A Ð'Ó
(€CÜ
�,Š,˜˜A˜  A Ð'Ó
(€CÜˆs‹[€FØ¢ 1 ™Ÿ™Ñ€Hä�(—/‘/ A q 6×*Ñ*Ð*Ð*Ü�(—/‘/ A q 6×*Ñ*Ð*Ñ*r    c                  ól  • SS/SS//n SS/SS//nS	S
/SS//nSS/SS//n[        XS9nX$l        X4l        U?US   nUR                  S:X  d   e[        R
                  " [        5         UR                  nS S S 5        UR                  S
:X  d   eU?UR                  / :X  d   eg ! , (       d  f       N5= f)Nr   r   r   r   r   r   r   r"   é	   é
   é   é   é   é   é   é   )r   r   r   )r   Úextrar   r   ÚpytestÚraisesÚ	Exceptionr8   )r   r   rM   Ú
overriddenr   r   Ú_s          r   Útest_slicer_crudrS   ~   sÊ   € Ø�ˆF�Q˜�FÐ€DØ�!ˆf�q˜!�fÐ€FØ�ˆW�r˜2�hÐ€EØ�r�(˜R ˜HÐ%€Jä�DÑ(€FØ„LØ„KØˆà�D‰\€FØ�;‰;˜"ÓÐÐÜ	�Š”yÕ	!Ø�M‰Mˆ÷ 
"ð �<‰<˜2ÓÐÐàˆØ�8‰8�r‹>Ð‰>÷ 
"Õ	!ús   Á)B%Â%
B3c                  óô   • [         R                  " SS/SS//SS/S9n [        U 5      n[        USS 5      (       d   e[        US	S 5      (       d   eUS S 2S4   R                  n[        USS/5      (       d   eg )
Nr   r   r   r   r(   ÚB©ÚcolumnsÚindexrW   )r9   r:   r   Úgetattrr8   r   )Údfr   Úactuals      r   Útest_slicer_default_aliasr\   ”   s€   € ä	�Š˜˜1�v  1˜vÐ&°°c°
Ñ	;€BÜˆr‹U€FÜ�6˜7 D×)Ñ)Ð)Ð)Ü�6˜9 d×+Ñ+Ð+Ð+Ø’A�s�F‰^×Ñ€FÜ�&˜1˜a˜&×!Ñ!Ð!Ñ!r    c                  óZ   • / SQ/ SQS.n [        U 5      nUS   R                  nUS:X  d   eg )Nr6   r7   ©r;   r<   )r;   r   r   )r   r8   )Údir   Úresults      r   Útest_slicer_anon_dictra   ž   s0   € ÚšyÑ	)€BÜˆr‹U€Fà�F‰^×Ñ€FØ�Q‹;Ð‰;r    c                  óÜ  • SS/SS/SS//n / SQ/ SQ// S	Q/ S
Q// SQ/ SQ//n/ SQn[        X[        US5      S9nUS   n[        UR                  U 5      (       d   eUR                  S:X  d   eUSS S 2S4   n[        UR                  U S   5      (       d   eUR                  S:X  d   eUSS S 24   S S 2S4   n[        UR                  U S   5      (       d   eUR                  S:X  d   eg )Nr   r   r   r   r   r   r6   r7   ©r   r"   rE   ©rF   rG   rH   ©rI   rJ   rK   ©rL   é   é   )r;   r<   Úc)r   r   Únamesr.   r<   r   )r   r(   r   r   rj   )Údata_2dÚ	values_3drj   r   r[   s        r   Útest_slicer_3drm   ¦   s  € Ø�1ˆv˜˜1�v  1˜vÐ&€Gâ	’IÐÚ	’LÐ!Ú	’|Ð$ð€Iò
 €Eä�G´Q°u¸a³[ÑA€FØ�F‰^€FÜ�&—+‘+˜w×'Ñ'Ð'Ð'Ø�<‰<˜3ÓÐÐà�A’q˜!�G‰_€FÜ�&—+‘+˜w q™z×*Ñ*Ð*Ð*Ø�<‰<˜3ÓÐÐà�A’q�D‰\š!˜Q˜$Ñ€FÜ�&—+‘+˜w q™z×*Ñ*Ð*Ð*Ø�<‰<˜3ÓÐÑr    c                  óê   • / SQn SnSS//n[        U [        US 5      [        US 5      S9nUS S nUR                  U S S :X  d   eUR                  U:X  d   e[	        UR
                  U5      (       d   eg )N©r   r   r   r   r   r"   rE   )r   Ú	primitiveÚ
collectionr   )r   ÚOr   rp   r   rq   )r   rp   rq   r   r[   s        r   Útest_untrackedrs   ½   s„   € Ú€DØ€IØ�a�&�€JÜ�D¤A i°Ó$6Ä1ÀZÐQUÓCVÑW€FØ�B�QˆZ€FØ�;‰;˜$˜r ˜(Ó"Ð"Ð"Ø×Ñ˜yÓ(Ð(Ð(Ü�&×#Ñ# Z×0Ñ0Ð0Ñ0r    c                  óÊ   • [        [        R                  " S5      [        [        R                  " S5      S/5      S9n U S S 2S S 2S4   R
                  R                  S:X  d   eg )Nr7   )r   r   r   r   r^   r   )r   r   Úzerosrr   Úonesr<   Úshape)Úss    r   Útest_partial_untrackedry   È   sK   € Ü	ŒB�HŠH�YÓ¤1¤R§W¢W¨YÓ%7¸!¸Ó#=Ñ>€AØŠQ’�1ˆW‰:�<‰<×Ñ Ó*Ð*Ñ*r    c                  óŒ  • / SQn [        U S9n[        R                  " S5      nX   R                  S:X  d   e[        R                  " SS/5      n[        X   R                  SS/5      (       d   e[        R                  " SS/SS//5      n[        R                  " [        5         X   nS S S 5        g ! , (       d  f       g = f)Nro   )r   r   r   r   r   r   )	r   r   Úint64r   r   r   rN   rO   Ú
ValueError)r   r   ÚsubkeyrR   s       r   Útest_numpy_subkeysr~   Í   sž   € Ú€DÜ�D‰\€Fä�XŠX�a‹[€FØ‰>×Ñ !Ó#Ð#Ð#ä�XŠX�q˜!�fÓ€FÜ�&‘.×%Ñ%¨¨1 v×.Ñ.Ð.Ð.ä�XŠX˜˜1�v  1˜vÐ&Ó'€FÜ	�Š”zÕ	"Ø‰Nˆ÷ 
#×	"Ö	"ús   Â'B5Â5
Cc                  ól   • [        SS/SS/SS/S9n [        U 5        [        / SQ5      n[        U5        g )	Nr   r   r;   r<   r   r   )Únamedro   )r   Úprintr   )r   Úatomics     r   Útest_repr_smokerƒ   Ü   s4   € Ü��1ˆv˜˜S�z¨!¨Q¨Ñ0€FÜ	ˆ&„Mäš,Ó'€FÜ	ˆ&…Mr    c                  óØ   • SS/SS/SS/S.n [        U 5      nUS   nUR                  n[        US5      (       d   eX S	.n[        U5      S
   R                  n[        US5      (       d   eg )Nr   r   r   r   r   r   ©r(   rU   ÚC)rU   r   )ÚXÚY)r‡   rU   r   )r   r8   r   )r_   r   r[   Ú	nested_dis       r   Útest_slicer_simple_dirŠ   ä   sw   € Ø�1ˆv˜Q ˜F¨!¨Q¨Ñ	0€BÜˆr‹U€FØ�F‰^€FØ�X‰X€FÜ�&˜!×ÑÐÐàÑ"€IÜˆy‹\˜+Ñ&×(Ñ(€FÜ�&˜!×ÑÐÑr    c                  óz  • [         R                  " / SQ/ SQ/ SQ/5      n [        U 5      n[        U 5      n[	        U 5      n[        U 5      nXX4/nU GHe  n[        S[        U5      5        [        U5      nUS   n[        UR                  S5      (       d   eUS   n[        UR                  S5      (       d   eUS   n[         R                  " / SQ5      n	[        UR                  U	5      (       d   eUS S 2S4   n[         R                  " / S	Q5      n	[        UR                  U	5      (       d   eUS S 2S S 24   n[         R                  " / SQ/ SQ/ SQ/5      n	[        UR                  U	5      (       d   eUSS S 24   n[         R                  " / SQ5      n	[        UR                  U	5      (       a  GMf   e   g )
N)r   r   r   )r   r   r   )r   r   r   útesting:©r   r   r   )r   r   r   )r   r   r   )r   r   r   r	   r
   r   r�   Útyper   r   r8   )
r   Ú	csc_arrayÚ	csr_arrayÚ	dok_arrayÚ	lil_arrayÚ
candidatesÚ	candidater   r[   Úexpecteds
             r   Útest_slicer_sparser–   ð   su  € Ü�HŠH’i¢ªIÐ6Ó7€EÜ˜5Ó!€IÜ˜5Ó!€IÜ˜5Ó!€IÜ˜5Ó!€Ià¨	Ð=€JÜˆ	Üˆjœ$˜y›/Ô*Ü�9“ˆØ˜‘ˆÜ�f—h‘h ×"Ñ"Ð"Ð"Ø˜‘ˆÜ�f—h‘h ×"Ñ"Ð"Ð"à˜‘ˆÜ—8’8šIÓ&ˆÜ�f—h‘h ×)Ñ)Ð)Ð)àš˜1˜‘ˆÜ—8’8šIÓ&ˆÜ�f—h‘h ×)Ñ)Ð)Ð)àšš1˜‘ˆÜ—8’8šYª	²9Ð=Ó>ˆÜ�f—h‘h ×)Ñ)Ð)Ð)à˜š1˜‘ˆÜ—8’8šIÓ&ˆÜ�f—h‘h ×)Ô)Ð)Ð)ò-  r    c                  óî   • SS K n U R                  " SS/SS//5      nU R                  " SS/SS	//5      nS
S/n[        X[        US5      S9nUS   nUR                  S:X  d   eUR
                  S:X  d   eg )Nr   r   r   r   r   r   r   r   r"   r&   r'   )r   r   Úalias)r   r'   )ÚtorchÚtensorr   r(   r   r   )r™   r   r   r˜   r   r   s         r   Útest_slicer_torchr›     sƒ   € Ûà�<Š<˜!˜Q˜ ! Q Ð(Ó)€DØ�\Š\˜A˜q˜6 A q 6Ð*Ó+€FØ�4ˆL€Eä�D¬q°¸«{Ñ;€FØ�G‰_€FØ�;‰;˜!ÓÐÐØ�=‰=˜AÓÐÑr    c                  ó–  • SS/SS/SS/S.n [         R                  " U 5      n[        U5      nUS   R                  S:X  d   e[	        US S 2S	4   R                  SS/5      (       d   e[	        US
S S 24   R                  / SQ5      (       d   e[         R                  " U SS/S9n[        U5      nUS   R                  S:X  d   eUS   R                  S:X  d   eUS   R                  S:X  d   e[        US	   5      nUS   R                  S:X  d   eUS
   R                  S:X  d   e[	        US S  R                  SS/5      (       d   eg )Nr   r   r   r   r   r   r…   )r   r(   r(   r   )r   r   r   r‡   rˆ   )rX   )r‡   r(   r�   )r9   r:   r   r8   r   )r_   rZ   r   s      r   Útest_slicer_pandasr�     sI  € Ø�1ˆv˜Q ˜F¨!¨Q¨Ñ	0€BÜ	�Š�bÓ	€Bäˆr‹U€FØ�&‰>×Ñ˜qÓ Ð Ð Ü�&š˜C˜‘.×"Ñ" Q¨ F×+Ñ+Ð+Ð+Ü�&˜šA˜‘,—.‘.¢)×,Ñ,Ð,Ð,ä	�Š�b  c 
Ñ	+€BÜˆr‹U€FØ�(Ñ×Ñ Ó"Ð"Ð"Ø�&‰>×Ñ˜qÓ Ð Ð Ø�$‰<�>‰>˜QÓÐÐÜˆr�#‰w‹Z€FØ�#‰;�=‰=˜AÓÐÐØ�!‰9�;‰;˜!ÓÐÐÜ�&™�)—+‘+  1˜v×&Ñ&Ð&Ñ&r    c                  ób   • SSK Jn   SnSnU " X5      nUS[        S 5      [        S 5      4:X  d   eg )Nr   )Ú_handle_newaxis_ellipses)r   r   )Úslicer_internalrŸ   Úslice)rŸ   Ú	index_tupÚmax_dimÚexpanded_index_tups       r   Útest_handle_newaxis_ellipsesr¥   2  s7   € Ý9à€IØ€Gá1°)ÓEÐØ !¤U¨4£[´%¸³+Ð!>Ó>Ð>Ñ>r    c                  ó„  • SS/n [        U SS9n[        U S/S9n[        U SS9n[        R                  " [        5         [        U S S9nS S S 5        [        R                  " [        5         [        U SS/S9nS S S 5        [	        U SS9n[	        U S/S9n[	        U SS9ng ! , (       d  f       N]= f! , (       d  f       N?= f)Nr(   rU   r   ©Údim)r   r   )r(   rN   rO   rP   rr   )ÚlirR   s     r   Útest_tracked_dim_arg_smokerª   <  s©   € Ø
ˆsˆ€BÜ	ˆ"�!‰€AÜ	ˆ"�1�#‰€AÜ	ˆ"�$‰€Aô 
�Š”yÕ	!Üˆb�d‰Oˆ÷ 
"ô 
�Š”yÕ	!Üˆb�q˜�eÑˆ÷ 
"ô 	
ˆ"�!‰€AÜ	ˆ"�1�#‰€AÜ	ˆ"�$‰€Aà÷ 
"Õ	!ú÷ 
"Õ	!ús   ¾B Á+B1Â 
B.Â1
B?c                  óô  • / SQn U n[        U 5      n[        U 5       VVs0 s H  u  p4X4_M	     nnn[        R                  " U 5      n[        R
                  " U 5      n[        R                  " U 5      nXXxXV/n	U	 Hõ  n
[        S[        U
5      5        [        U
5      n[        US   U S   5      (       d   e[        U/ SQ   U 5      (       d   e[        U/ SQ   U S S 5      (       d   e[        US S  U S S  5      (       d   e[        U[        5          U 5      (       d   e[        U
[        5      (       a  M½  [        US   U S   5      (       d   e[        USSS2   U SSS2   5      (       a  Mõ   e   g s  snnf )	Nro   rŒ   r   )r   r   r   r   ©r   r   r   éÿÿÿÿr   r   )ÚtupleÚ	enumerater9   ÚSeriesr   r   r™   rš   r�   rŽ   r   r   Ú
isinstanceÚdict)Úelementsr©   ÚtupÚiÚxr_   Úseriesr   Útorch_arrayÚ
containersÚctrr   s               r   Útest_operations_1dr»   P  sk  € Ú€HØ	€BÜ
�‹/€CÜ$ XÔ.Ô	/Ò.‘4�1ˆ!Š$Ñ.€BÑ	/Ü�YŠY�xÓ €FÜ�HŠH�XÓ€EÜ—,’,˜xÓ(€KØ˜5¨rÐ:€JÛˆÜˆjœ$˜s›)Ô$Ü˜cÓ"ˆä�f˜Q‘i ¨!¡×-Ñ-Ð-Ð-ô �fš\Ñ*¨H×5Ñ5Ð5Ð5Ü�fšYÑ'¨°#°2¨×7Ñ7Ð7Ð7ô �f™Q�i ©! ×-Ñ-Ð-Ð-Ü�fœU›W‘o x×0Ñ0Ð0Ð0ô ˜#œt×$Ó$Ü˜& ™* h¨r¡l×3Ñ3Ð3Ð3Ü˜&  1 Q ™-¨°!°A°a°%©×9Ó9Ð9Ð9ò# ùó 
0s    E4c            
      óÄ  • / SQ/ SQ/ SQ/n U n[         R                  " U / SQS9n[        U 5      n[        U 5      n[	        U 5      n[        U 5      nXX4XV/nU GHî  n[        S[        U5      5        [        U5      n	[        U	S   U S   5      (       d   e[        U[        5      (       d=  [        U	S   U S   5      (       d   e[        U	SSS	S
24   U S   SS	S
2   5      (       d   e[        U	/ SQS S 24   U 5      (       d   e[        U	S S  U 5      (       d   e[        U	[        5          U 5      (       d   e[        U	S S 2S4   [        U 5       V
Vs/ s H  u  p«X
   S   PM     snn
5      (       d   e[        U	SS/S4   S V
s/ s H
  o U
   S   PM     sn
5      (       d   e[        U	SS/S4   S V
s/ s H
  o U
   S   PM     sn
5      (       d   e[        U	SS S 24   U S   5      (       d   e[        U	S   U S   S   5      (       d   e[        U	S   [        U 5       V
Vs/ s H  u  p«X
   S   PM     snn
5      (       a  GMï   e   g s  snn
f s  sn
f s  sn
f s  snn
f )Nr6   r7   rc   r…   rV   rŒ   r   r­   r   r   r¬   r   r   ).r   )r9   r:   r   r	   r
   r   r�   rŽ   r   r   r±   r²   r®   r¯   )r³   r©   rZ   Ú
sparse_cscÚ
sparse_csrÚ
sparse_dokÚ
sparse_lilr¹   rº   r   rµ   rR   s               r   Útest_operations_2drÁ   m  sg  € Úš9¢iÐ0€HØ	€BÜ	�Š�hªÑ	8€Bä˜HÓ%€JÜ˜HÓ%€JÜ˜HÓ%€JÜ˜HÓ%€Jà˜*°*ÐI€JÜˆÜˆjœ$˜s›)Ô$Ü˜cÓ"ˆä�f˜Q‘i ¨!¡×-Ñ-Ð-Ð-ô ˜#œt×$Ñ$Ü˜& ™* h¨r¡l×3Ñ3Ð3Ð3Ü˜&  A a¨ E Ñ*¨H°Q©K¸¸!¸A¸Ñ,>×?Ñ?Ð?Ð?ô �fšYª˜\Ñ*¨H×5Ñ5Ð5Ð5ô �f™Q�i ×*Ñ*Ð*Ð*Ü�fœU›W‘o x×0Ñ0Ð0Ð0ä�fšQ ˜T‘lÄ	È(Ô@SÔ$TÒ@S¹¸ X¡[°¤^Ñ@SÒ$T×UÑUÐUÐUÜ�f˜a ˜V Q˜YÑ'Á&Ó)IÂ&¸Q°1©+°a¬.Á&Ñ)I×JÑJÐJÐJÜ�f˜a ˜V Q˜YÑ'Á&Ó)IÂ&¸Q°1©+°a¬.Á&Ñ)I×JÑJÐJÐJÜ�f˜Q¢˜T‘l H¨Q¡K×0Ñ0Ð0Ð0Ü�f˜T‘l H¨Q¡K°¡N×3Ñ3Ð3Ð3ä�f˜V‘nÄ)ÈHÔBUÔ&VÒBU¹$¸! x¡{°1¤~ÑBUÒ&V×WÔWÐWÐWò1 ùó$ %UùÚ)IùÚ)Iùó 'Ws   ÅIÆIÆ5IÈ$Ic            
      óÖ  • / SQ/ SQ// SQ/ SQ// SQ/ SQ//n Sn[         R                  " U 5      n[        R                  " U 5      nU nUn[        R                  " U S   5      [        R                  " U S	   5      [        R                  " U S
   5      /n[        R                  " U S   5      [        R                  " U S	   5      [        R                  " U S
   5      S.nUUUUUU/nU GHg  n	[	        S[        U	5      5        [        U	5      n
[        U
S   U S   5      (       d   e[        U	[        5      (       d=  [        U
S   U S   5      (       d   e[        U
SSSS
24   U S   SSS
2   5      (       d   e[        U
/ SQS S 24   U 5      (       d   e[        U
S S  U 5      (       d   e[        U
[        5          U 5      (       d   e[        U
S S 2S4   [        U 5       VVs/ s H  u  p¼X   S   PM     snn5      (       d   e[        U
SS	/S4   S Vs/ s H
  o°U   S   PM     sn5      (       d   e[        U
SS	/S	4   S Vs/ s H
  o°U   S	   PM     sn5      (       d   e[        U
SS S 24   U S   5      (       d   e[        U
S   U S   S	   5      (       d   e/ n[        U 5       HG  u  p¼/ n[        X   5       H  u  püUR                  X   U   S	   5        M      UR                  U5        MI     [        U
S   U5      (       d   e[        U
S   [        [        U S   5      5       Vs/ s H  o°S   U   S	   PM     sn5      (       a  GMh   e   g s  snnf s  snf s  snf s  snf )Nr6   r7   rc   rd   re   rf   ))r6   r7   )rc   rd   )re   rf   r   r   r   r¬   rŒ   r­   r   r   r.   )r   .r   )r™   rš   r   r   r�   rŽ   r   r   r±   r²   r®   r¯   ÚappendÚrangeÚlen)r³   Útuple_elementsr¸   Úmulti_arrayÚlist_of_listsÚtuples_of_tuplesÚlist_of_multi_arraysÚdi_of_multi_arraysr¹   rº   r   rµ   rR   ÚrowsÚcolsÚjs                   r   Útest_operations_3drÏ   “  sr  € ò 
’IÐÚ	’LÐ!Ú	’|Ð$ð€Hð
€Nô
 —,’,˜xÓ(€KÜ—(’(˜8Ó$€KØ€MØ%Ðä
�Š�˜!‘ÓÜ
�Š�˜!‘ÓÜ
�Š�˜!‘ÓðÐô �8Š8�H˜Q‘KÓ Ü�8Š8�H˜Q‘KÓ Ü�8Š8�H˜Q‘KÓ ñÐð 	ØØØØØð€Jô ˆÜˆjœ$˜s›)Ô$Ü˜cÓ"ˆä�f˜Q‘i ¨!¡×-Ñ-Ð-Ð-ô ˜#œt×$Ñ$Ü˜& ™* h¨r¡l×3Ñ3Ð3Ð3Ü˜&  A a¨ E Ñ*¨H°Q©K¸¸!¸A¸Ñ,>×?Ñ?Ð?Ð?ô �fšYª˜\Ñ*¨H×5Ñ5Ð5Ð5ô �f™Q�i ×*Ñ*Ð*Ð*Ü�fœU›W‘o x×0Ñ0Ð0Ð0ä�fšQ ˜T‘lÄ	È(Ô@SÔ$TÒ@S¹¸ X¡[°¤^Ñ@SÒ$T×UÑUÐUÐUÜ�f˜a ˜V Q˜YÑ'Á&Ó)IÂ&¸Q°1©+°a¬.Á&Ñ)I×JÑJÐJÐJÜ�f˜a ˜V Q˜YÑ'Á&Ó)IÂ&¸Q°1©+°a¬.Á&Ñ)I×JÑJÐJÐJÜ�f˜Q¢˜T‘l H¨Q¡K×0Ñ0Ð0Ð0Ü�f˜T‘l H¨Q¡K°¡N×3Ñ3Ð3Ð3àˆÜ˜hÖ'‰DˆAØˆDÜ! (¡+Ö.‘�Ø—‘˜H™K¨™N¨1Ñ-Ö.ñ /à�K‰K˜Öñ	 (ô
 �f˜V‘n d×+Ñ+Ð+Ð+ÜØ�9Ñ¼5ÄÀXÈaÁ[ÓAQÔ;RÓSÒ;R°a¨¡¨A¡¨qÔ 1Ñ;RÑS÷
ô 
ð 	
ð 
ò? ùó$ %UùÚ)IùÚ)Iùò  Ts   Ç#MÈMÉM!Ì.M&c            
      óú  • SS/SS//n SS/SS//nS	S	/nS
S/nSS/nSn[        U U[        US5      [        US5      [        US5      US9nSS/Ul        UR                  SS/:X  d   eUS S 2S4   R                  S:X  d   e[        R                  " [
        5         US S 2S4   nS S S 5        [        SS/SS9Ul        UR                  SS/:X  d   eUSS S 24   R                  S:X  d   eg ! , (       d  f       NM= f)Nr   r   r   r   r   r   r   r"   r#   r$   r%   r&   r'   r(   r   r)   Úf3Úf4Úf5Úf6r§   )r   r(   r,   rN   rO   rP   )r   r   r*   r+   r,   r-   ÚexprR   s           r   Útest_attribute_assignmentrÖ   Ù  s)  € Ø�ˆF�Q˜�FÐ€DØ�!ˆf�q˜!�fÐ€FØ˜%�.€KØ˜D�\€NØ˜4�L€MØ€Iä
ØØÜ�k 1Ó%Ü˜¨Ó+Ü˜ qÓ)Øñ€Cð ˜t˜€CÔà×Ñ  t Ó,Ð,Ð,ØŠq�!ˆt‰9×"Ñ" dÓ*Ð*Ð*ä	�Š”yÕ	!Ø’�4�‰Lˆ÷ 
"ô ˜4 ˜,¨AÑ.€CÔà×Ñ  t Ó,Ð,Ð,Øˆq’!ˆt‰9×"Ñ" dÓ*Ð*Ñ*÷ 
"Õ	!ús   Â
C,Ã,
C:),Ú__doc__rN   r   r   Ú r   r   r   r(   r   rr   Úpandasr9   Únumpyr   r™   Úscipy.sparser   r	   r
   r   Úutils_testingr   r   r4   rC   rS   r\   ra   rm   rs   ry   r~   rƒ   rŠ   r–   r›   r�   r¥   rª   r»   rÁ   rÏ   rÖ   © r    r   Ú<module>rÞ      s¥   ðñó å  å Ý Ý ã Û Û Ý #Ý #Ý #Ý #õ "ò/ò @$òF+ò$ò,"òòò.1ò+ò
òò	ò*òB
ò'ò(?òò(:ò:#XòLD
óL+r    