Ë
    ÷Q(hL  ã            	       óŽ  — U d dl Z d dlZd dlmZmZ d dlZd dlZd dlm	Z
 d dlmZmZ d dlmZ d dlmZmZmZmZmZ d dlmZmZmZmZmZ d dlmZ egZee   ed<   egZ ee   ed	<   ee z   Z!egZ"ee   ed
<   egZ#ee   ed<   e"e#z   Z$	 	 d<d„Z%d„ Z&d\  Z'Z( e)e'e(z  dz  «      Z*ejV                  jY                  dddgddgfddgddgfddgddgfg«      d„ «       Z-d„ Z.d„ Z/d„ Z0d„ Z1d „ Z2ejV                  jY                  d!e!«      d"„ «       Z3ejV                  jY                  d!e«      d#„ «       Z4d$„ Z5d%„ Z6d&„ Z7ejV                  jY                  d'e«      d(„ «       Z8ejV                  jY                  d'e«      d)„ «       Z9ejV                  jY                  d'e«      d*„ «       Z:ejV                  jY                  d'e«      d+„ «       Z;ejV                  jY                  d'e«      d,„ «       Z<ejV                  jY                  d'e«      d-„ «       Z=ejV                  jY                  d'e«      d.„ «       Z>d/„ Z?ejV                  jY                  d'e«      ejV                  jY                  d0e$«      d1„ «       «       Z@ejV                  jY                  d'e«      ejV                  jY                  d2d3«      ejV                  jY                  d4d3«      ejV                  jY                  d0e$«      ejV                  jY                  d5d6d7g«      d8„ «       «       «       «       «       ZAejV                  jY                  d0e$«      ejV                  jY                  d9ej„                  ej„                  fej†                  ej†                  fejˆ                  ej†                  fejŠ                  ej†                  ff«      d:„ «       «       ZFejV                  jY                  d0e$«      d;„ «       ZGy)=é    N)ÚAnyÚList)ÚDataDimensionalityWarningÚNotFittedError)Úeuclidean_distances)ÚGaussianRandomProjectionÚSparseRandomProjectionÚ_gaussian_random_matrixÚ_sparse_random_matrixÚjohnson_lindenstrauss_min_dim)Úassert_allcloseÚassert_allclose_dense_sparseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)ÚCOO_CONTAINERSÚall_sparse_random_matrixÚall_dense_random_matrixÚall_SparseRandomProjectionÚall_DenseRandomProjectionc                 ó  — t         j                  j                  |«      } | |j                  |«      |j	                  ||¬«      |j	                  ||¬«      ff||f¬«      }|�|j                  |«      S |j                  «       S )zÊMake some random data with uniformly located non zero entries with
    Gaussian distributed values; `sparse_format` can be `"csr"` (default) or
    `None` (in which case a dense array is returned).
    ©Úsize©Úshape)ÚnpÚrandomÚRandomStateÚrandnÚrandintÚasformatÚtoarray)Úcoo_containerÚ	n_samplesÚ
n_featuresÚ
n_nonzerosÚrandom_stateÚsparse_formatÚrngÚdata_coos           úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/tests/test_random_projection.pyÚmake_sparse_random_datar,   $   sŠ   € ô �)‰)×
Ñ
 Ó
-€CÙà�I‰I�jÓ!à—‘˜I¨J�Ó7Ø—‘˜J¨Z�Ó8ðð	
ð ˜*Ð%ô	€Hð Ð Ø× Ñ  Ó/Ð/à×ÑÓ!Ð!ó    c                 óP   — t        j                  | «      s| S | j                  «       S ©N)ÚspÚissparser"   )Úmatrixs    r+   Údensifyr3   A   s    € Ü�;‰;�vÔØˆà�~‰~ÓÐr-   )é
   éè  g      Y@zn_samples, epséd   én   çÍÌÌÌÌÌì?çš™™™™™ñ?éZ   çš™™™™™¹?ç        é2   iØÿÿÿçš™™™™™É?c                 óz   — t        j                  t        «      5  t        | |¬«       d d d «       y # 1 sw Y   y xY w)N©Úeps)ÚpytestÚraisesÚ
ValueErrorr   )r$   rA   s     r+   Útest_invalid_jl_domainrE   Q   s/   € ô 
�‰”zÓ	"ñ :Ü% i°SÕ9÷:÷ :ñ :ús   š1±:c                  ó  — t        j                  t        «      5  t        ddgz  ddgz  ¬«       d d d «       t        t        j
                  j                  ddd¬	«      t	        j                  dd
«      ¬«       y # 1 sw Y   ŒKxY w)Né   r6   é   r8   r@   é   r4   )r4   r4   r   ç      à?)rB   rC   rD   r   r   r   r    Úfull© r-   r+   Útest_input_size_jl_min_dimrM   ^   sm   € Ü	�‰”zÓ	"ñ @Ü% a¨3¨%¡i°Q¸#¸±YÕ?÷@ô "Ü
�	‰	×Ñ˜!˜R hÐÓ/´R·W±W¸XÀsÓ5Kö÷@ð @ús   šA:Á:Bc                 óŽ   — g d¢}|D ]0  \  }}t        j                  t        «      5   | ||«       d d d «       Œ2 y # 1 sw Y   Œ=xY w)N))r   r   )éÿÿÿÿrI   )rI   rO   )rI   r   )rO   r   ©rB   rC   rD   ©Úrandom_matrixÚinputsÚn_componentsr%   s       r+   Úcheck_input_size_random_matrixrU   j   sK   € Ú8€FØ$*ò 4Ñ ˆ�jÜ�]‰]œ:Ó&ñ 	4Ù˜,¨
Ô3÷	4ð 	4ñ4÷	4ð 	4ús	   ¦
;»A	c                 óT   — g d¢}|D ]  \  }} | ||«      j                   ||fk(  rŒJ ‚ y )N))rI   é   )rW   rI   )rW   rW   )rI   rI   r   rQ   s       r+   Úcheck_size_generatedrX   q   sF   € Ú-€FØ$*ò 
Ñ ˆ�jÙ˜\¨:Ó6×<Ñ<ØØðA
ó 
ð 	
ð 
ñ
r-   c                 óÀ   — t         | ddd¬«      «      }t        dt        j                  |«      d«       t        dt        j                  j                  |«      d«       y )Ni'  rI   r   ©r'   rG   ç      ð?)r3   r   r   ÚmeanÚlinalgÚnorm)rR   ÚAs     r+   Úcheck_zero_mean_and_unit_normr`   z   sD   € ô 	‘˜e Q°QÔ7Ó8€Aä˜a¤§¡¨£¨QÔ/Ü˜c¤2§9¡9§>¡>°!Ó#4°aÕ8r-   c                 óŽ   — d\  }}dD ]/  }t        j                  t        «      5   | |||¬«       d d d «       Œ1 y # 1 sw Y   Œ<xY w)N)rW   r4   )g      ð¿r<   r9   ©ÚdensityrP   )rR   rT   r%   rc   s       r+   Ú%check_input_with_sparse_random_matrixrd   „   sT   € Ø$Ñ€L�*à#ò EˆÜ�]‰]œ:Ó&ñ 	EÙ˜,¨
¸GÕD÷	Eð 	EñE÷	Eð 	Eús	   ¤;»A	rR   c                 óF   — t        | «       t        | «       t        | «       y r/   )rU   rX   r`   )rR   s    r+   Ú$test_basic_property_of_random_matrixrf   Œ   s   € ô # =Ô1Ü˜Ô'Ü! -Õ0r-   c                 ó^   — t        | «       t        j                  | d¬«      }t        |«       y )Nr[   rb   )rd   Ú	functoolsÚpartialr`   )rR   Úrandom_matrix_denses     r+   Ú+test_basic_property_of_sparse_random_matrixrk   ”   s&   € ä)¨-Ô8ä#×+Ñ+¨MÀ3ÔGÐä!Ð"5Õ6r-   c                  ó²   — d} d}t        | |d¬«      }t        dt        j                  |«      d«       t        t        j                  |d¬«      d| z  d«       y )	Nr6   r5   r   rZ   r<   rH   rI   ©Úddof)r
   r   r   r\   Úvar)rT   r%   r_   s      r+   Útest_gaussian_random_matrixrp   �   sL   € ð €LØ€JÜ ¨jÀqÔI€Aä˜c¤2§7¡7¨1£:¨qÔ1ÜœbŸf™f Q¨QÔ/°°\Ñ1AÀ1ÕEr-   c            
      óN  — d} d}dD �]›  }d|z  }t        | ||d¬«      }t        |«      }t        j                  |«      }t        j                  |«      t        j                  | «      z  |v sJ ‚t        j                  |«       t        j                  | «      z  |v sJ ‚|dk(  rt        j
                  |«      dk(  s"J ‚d	|v sJ ‚t        j
                  |«      d
k(  sJ ‚t        t        j                  |d	k(  «      dd|z  z
  d¬«       t        t        j                  |t        j                  |«      t        j                  | «      z  k(  «      dd|z  z  d¬«       t        t        j                  |t        j                  |«       t        j                  | «      z  k(  «      dd|z  z  d¬«       t        t        j                  |d	k(  d¬«      dd|z  z
  dz  |z  d¬«       t        t        j                  |t        j                  |«      t        j                  | «      z  k(  d¬«      ddd|z  z  z
  dz  d|z  z  d¬«       t        t        j                  |t        j                  |«       t        j                  | «      z  k(  d¬«      ddd|z  z  z
  dz  d|z  z  d¬«       �Œž y )Nr6   iô  )g333333Ó?r[   rI   r   )rc   r'   r[   rH   r<   rG   )Údecimalrm   )	r   r3   r   ÚuniqueÚsqrtr   r   r\   ro   )rT   r%   rc   Úsr_   Úvaluess         r+   Útest_sparse_random_matrixrw   «   sO  € à€LØ€Jàó ,
ˆØ�‰Kˆä!Ø˜*¨gÀAô
ˆô �A‹Jˆô —‘˜1“ˆÜ�w‰w�q‹zœBŸG™G LÓ1Ñ1°VÑ;Ð;Ð;Ü—‘˜“
ˆ{œRŸW™W \Ó2Ñ2°fÑ<Ð<Ð<à�cŠ>Ü—7‘7˜6“? aÒ'Ð'Ð'à˜&‘=Ð �=Ü—7‘7˜6“? aÒ'Ð'Ð'ô 	œBŸG™G A¨¡HÓ-¨q°1°q±5©yÀ!ÕDÜÜ�G‰G�AœŸ™ ›¤b§g¡g¨lÓ&;Ñ;Ñ;Ó<¸aÀ1ÀqÁ5¹kÐSTõ	
ô 	Ü�G‰G�Aœ"Ÿ'™' !›*˜¤r§w¡w¨|Ó'<Ñ<Ñ<Ó=¸qÀAÈÁE¹{ÐTUõ	
ô 	œBŸF™F 1¨¡8°!Ô4°q¸1¸q¹5±yÀA±oÈÑ6IÐSTÕUÜÜ�F‰F�1œŸ™ ›
¤R§W¡W¨\Ó%:Ñ:Ñ:ÀÔCØ��a˜!‘e‘‰_ Ñ! Q¨¡UÑ+Øõ	
ô
 	Ü�F‰F�1œŸ™ ›˜¤b§g¡g¨lÓ&;Ñ;Ñ;À!ÔDØ��a˜!‘e‘‰_ Ñ! Q¨¡UÑ+Ø÷	
ñQ,
r-   c                  ó´   — d} g d¢g}t         D ]<  }t        j                  t        «      5   || ¬«      j	                  |«       d d d «       Œ> y # 1 sw Y   ŒIxY w)NÚauto)r   rI   rH   ©rT   )Úall_RandomProjectionrB   rC   rD   Úfit)rT   Úfit_dataÚRandomProjections      r+   Ú0test_random_projection_transformer_invalid_inputr   ä   s^   € Ø€LÚˆ{€HÜ0ò FÐÜ�]‰]œ:Ó&ñ 	FÙ¨,Ô7×;Ñ;¸HÔE÷	Fð 	FñF÷	Fð 	Fús   ªAÁA	r#   c                 óà   — t        | t        t        t        |d ¬«      }t        D ]<  }t        j                  t        «      5   |d¬«      j                  |«       d d d «       Œ> y # 1 sw Y   ŒIxY w)N©r'   r(   ry   rz   )	r,   r$   r%   r&   r{   rB   rC   r   Ú	transform)r#   Úglobal_random_seedÚdatar~   s       r+   Ú test_try_to_transform_before_fitr…   ì   sp   € ä"ØÜÜÜØ'Øô€Dô 1ò BÐÜ�]‰]œ>Ó*ñ 	BÙ¨&Ô1×;Ñ;¸DÔA÷	Bð 	BñB÷	Bð 	Bús   Á A$Á$A-	c                 óÖ   — t        | ddd|d ¬«      }t        D ]C  } |dd¬«      }d}t        j                  t        |¬«      5  |j                  |«       d d d «       ŒE y # 1 sw Y   ŒPxY w)	Nr5   r6   ©r$   r%   r&   r'   r(   ry   r;   )rT   rA   z~eps=0.100000 and n_samples=1000 lead to a target dimension of 5920 which is larger than the original space with n_features=100)Úmatch)r,   r{   rB   rC   rD   r|   )r#   rƒ   r„   r~   ÚrpÚexpected_msgs         r+   Ú.test_too_many_samples_to_find_a_safe_embeddingr‹   û   s{   € ä"ØØØØØ'Øô€Dô 1ò ÐÙ¨6°sÔ;ˆðð 	ô
 �]‰]œ:¨\Ô:ñ 	Ø�F‰F�4ŒL÷	ð 	ñ÷	ð 	ús   ÁAÁA(	c                 ót  — t        | ddddd ¬«      }d}t        |d¬«      }|j                  «       }|d	k7  }||   }t        D ]u  } |d
|d¬«      }|j	                  |«      }t        |d¬«      }|j                  «       }||   }||z  }	|	j                  «       d|z   k  sJ ‚d|z
  |	j                  «       k  rŒuJ ‚ y )Né   iˆ  i˜:  r   r‡   r>   T)Úsquaredr<   ry   )rT   rA   r'   rI   )r,   r   Úravelr{   Úfit_transformÚmaxÚmin)
r#   r„   rA   Úoriginal_distancesÚnon_identicalr~   r‰   Ú	projectedÚprojected_distancesÚdistances_ratios
             r+   Ú(test_random_projection_embedding_qualityr˜     sò   € ä"ØØØØØØô€Dð €Cä,¨T¸4Ô@ÐØ+×1Ñ1Ó3ÐØ&¨#Ñ-€Mð ,¨MÑ:Ðä0ò /ÐÙ¨6°sÈÔKˆØ×$Ñ$ TÓ*ˆ	ä1°)ÀTÔJÐØ1×7Ñ7Ó9Ðð 2°-Ñ@Ðà-Ð0BÑBˆð
 ×"Ñ"Ó$ q¨3¡wÒ.Ð.Ð.Ø�3‰w˜×,Ñ,Ó.Ó.Ð.Ð.ñ!/r-   c                 óL  — t        | t        t        t        dd ¬«      }t        | t        t        t        dd¬«      }t        D ]á  } |ddd¬«      }|j                  |«       t        |j                  |«      t        j                  «      sJ ‚t        |j                  |«      t        j                  «      sJ ‚ |ddd¬«      }|j                  |«      }t        |j                  |«      t        j                  «      sJ ‚t        j                  |j                  |«      «      rŒáJ ‚ y )Nr   r�   Úcsrr4   T)rT   Údense_outputr'   F)r,   r$   r%   r&   r   r|   Ú
isinstancer‚   r   Úndarrayr0   r1   )r#   Ú
dense_dataÚsparse_dataÚSparseRandomProjr‰   s        r+   Ú+test_SparseRandomProj_output_representationr¡   7  sý   € ä(ØÜÜÜØØô€Jô *ØÜÜÜØØô€Kô 7ò 6Ðñ ¨2¸DÈqÔQˆØ
�‰ˆzÔÜ˜"Ÿ,™, zÓ2´B·J±JÔ?Ð?Ð?Ü˜"Ÿ,™, {Ó3´R·Z±ZÔ@Ð@Ð@ñ ¨2¸EÐPQÔRˆØ�V‰V�JÓˆä˜"Ÿ,™, zÓ2´B·J±JÔ?Ð?Ð?ô �{‰{˜2Ÿ<™<¨Ó4Õ5Ð5Ð5ñ6r-   c                 ó  — t        | t        t        t        |d ¬«      }t        D �]Ì  } |ddd¬«      j                  |«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|t        v r(|j                  dk(  sJ ‚t        |j                  dd«       |j                  j                  dt        fk(  sJ ‚|j                  |«      }|j                  t        dfk(  sJ ‚|j                  |«      }t        ||«        |dd¬	«      }|j!                  |«      }t        ||«       t#        j$                  t&        «      5  |j                  |d d …d
d…f   «       d d d «       |t        v s�ŒC |ddd¬«      }|j!                  |«      }	|	j                  t        dfk(  sJ ‚|j                  j                  dt        fk(  sJ ‚|j                  j(                  dk  sJ ‚d|j                  j(                  k  r�ŒÍJ ‚ y # 1 sw Y   Œ¡xY w)Nr�   ry   r   rJ   )rT   r'   rA   r7   g¸…ëQ¸ž?rH   )r'   rA   rI   rW   r6   gü©ñÒMbP?)rT   rc   r'   és   éU   )r,   r$   r%   r&   r{   r|   rT   Ún_components_r   rc   r   Údensity_Úcomponents_r   r‚   r   r�   rB   rC   rD   Únnz)
r#   rƒ   r„   r~   r‰   Úprojected_1Úprojected_2Úrp2Úprojected_3r•   s
             r+   Ú2test_correct_RandomProjection_dimensions_embeddingr­   [  sï  € ô #ØÜÜÜØ'Øô€Dô 1ó &+ÐÙ¨6ÀÀsÔK×OÑOÐPTÓUˆð �‰ &Ò(Ð(Ð(Ø×Ñ 3Ò&Ð&Ð&àÔ9Ñ9Ø—:‘: Ò'Ð'Ð'Ü §¡¨T°1Ô5à�~‰~×#Ñ#¨¬ZÐ'8Ò8Ð8Ð8à—l‘l 4Ó(ˆØ× Ñ ¤Y°Ð$4Ò4Ð4Ð4ð —l‘l 4Ó(ˆÜ˜;¨Ô4ñ ¨A°3Ô7ˆØ×'Ñ'¨Ó-ˆÜ˜;¨Ô4ô �]‰]œ:Ó&ñ 	'Ø�L‰L˜ša  1 ˜f™Ô&÷	'ð
 Ô9Ó9Ù!¨s¸EÐPQÔRˆBØ×(Ñ(¨Ó.ˆIØ—?‘?¤y°#Ð&6Ò6Ð6Ð6Ø—>‘>×'Ñ'¨C´Ð+<Ò<Ð<Ð<Ø—>‘>×%Ñ%¨Ò+Ð+Ð+Ø˜Ÿ™×*Ñ*Ô*Ð*Ð*ñM&+÷6	'ð 	'ús   Ä:G5Ç5G>	c                 óò   — d}d}t        |dz  «      }t        | ||||d ¬«      }t        D ]?  }t        j                  t
        «      5   ||dz   ¬«      j                  |«       d d d «       ŒA y # 1 sw Y   ŒLxY w)Né   rW   é   r�   rI   rz   )Úintr,   r{   rB   Úwarnsr   r|   )r#   rƒ   r%   r$   r&   r„   r~   s          r+   Ú1test_warning_n_components_greater_than_n_featuresr³   �  s�   € ð €JØ€IÜ�Z !‘^Ó$€JÜ"ØØØØØ'Øô€Dô 1ò DÐÜ�\‰\Ô3Ó4ñ 	DÙ¨*°q©.Ô9×=Ñ=¸dÔC÷	Dð 	DñD÷	Dð 	Dús   ÁA-Á-A6	c                 óJ  — d}d}t        |dz  «      }t        | ||||d ¬«      }t        | ||||d¬«      }t        D ]f  } |dd¬«      j                  |«      } |dd¬«      j                  |«      }	t	        t        |j                  «      t        |	j                  «      «       Œh y )	Nr¯   rW   r°   r�   rš   rG   rI   )rT   r'   )r±   r,   r{   r|   r   r3   r§   )
r#   rƒ   r%   r$   r&   rž   rŸ   r~   Úrp_denseÚ	rp_sparses
             r+   Útest_works_with_sparse_datar·   ¥  s·   € à€JØ€IÜ�Z !‘^Ó$€JÜ(ØØØØØ'Øô€Jô *ØØØØØ'Øô€Kô 1ò 
ÐÙ#°ÀÔC×GÑGÈ
ÓSˆÙ$°!À!ÔD×HÑHÈÓUˆ	Ü!Ü�H×(Ñ(Ó)¬7°9×3HÑ3HÓ+Iõ	
ñ
r-   c                  ó(   — t        dd¬«      dk(  sJ ‚y)zyTest Johnson-Lindenstrauss for small eps.

    Regression test for #17111: before #19374, 32-bit systems would fail.
    r6   çñhãˆµøä>r@   l   JžWN)r   rL   r-   r+   Ú"test_johnson_lindenstrauss_min_dimrº   Ã  s   € ô
 )¨°$Ô7¸<ÒGÐGÑGr-   Úrandom_projection_clsc                 óh  — t        | t        t        t        |d ¬«      } |d¬«      }|j	                  |«       |j                  «       }|j                  j                  «       }t        j                  t        |j                  «      D �cg c]  }|› |› �‘Œ
 c}t        ¬«      }t        ||«       y c c}w )Nr�   rH   rz   )Údtype)r,   r$   r%   r&   r|   Úget_feature_names_outÚ__name__Úlowerr   ÚarrayÚranger¥   Úobjectr   )	r#   r»   rƒ   r„   Úrandom_projectionÚ	names_outÚclass_name_lowerÚiÚexpected_names_outs	            r+   Ú(test_random_projection_feature_names_outrÉ   Ë  s¨   € ô
 #ØÜÜÜØ'Øô€Dñ .¸1Ô=ÐØ×Ñ˜$ÔØ!×7Ñ7Ó9€IØ,×5Ñ5×;Ñ;Ó=ÐÜŸ™Ü+0Ð1B×1PÑ1PÓ+QÖR aÐÐ˜a˜SÒ	!ÒRÜôÐô
 �yÐ"4Õ5ùò	 	Ss   ÂB/r$   )rH   é	   r4   é   r5   r%   Úcompute_inverse_componentsTFc                 ór  — d} ||||¬«      }t        | ||||z  dz  dz   |d ¬«      }t        | ||||z  dz  dz   |d¬«      }	||	fD ]ã  }
t        j                  «       5  t        j                  ddt        ¬	«       |j                  |
«      }d d d «       |r-t        |d
«      sJ ‚|j                  }|j                  ||fk(  sJ ‚|j                  «      }|j                  |
j                  k(  sJ ‚|j                  |«      }t        |d«      r|j                  «       }t        ||dd¬«       Œå y # 1 sw Y   Œ£xY w)Nr4   )rT   rÌ   r'   r6   rI   )r&   r'   r(   rš   Úignorez>The number of components is higher than the number of features)ÚmessageÚcategoryÚinverse_components_r"   gH¯¼šò×z>g»½×Ùß|Û=)ÚrtolÚatol)r,   ÚwarningsÚcatch_warningsÚfilterwarningsr   r�   ÚhasattrrÑ   r   Úinverse_transformr‚   r"   r   )r#   r$   r%   r»   rÌ   rƒ   rT   rÄ   ÚX_denseÚX_csrÚXr•   Úinv_componentsÚprojected_backÚprojected_agains                  r+   Útest_inverse_transformrß   ä  sr  € ð €Lá-Ø!Ø#=Ø'ôÐô &ØØØØ˜zÑ)¨SÑ0°1Ñ4Ø'Øô€Gô $ØØØØ˜zÑ)¨SÑ0°1Ñ4Ø'Øô€Eð �uÐò KˆÜ×$Ñ$Ó&ñ 	;Ü×#Ñ#ØàTä2õð *×7Ñ7¸Ó:ˆI÷	;ñ &ÜÐ,Ð.CÔDÐDÐDØ.×BÑBˆNØ!×'Ñ'¨J¸Ð+EÒEÐEÐEà*×<Ñ<¸YÓGˆØ×#Ñ# q§w¡wÒ.Ð.Ð.à+×5Ñ5°nÓEˆÜ�9˜iÔ(Ø!×)Ñ)Ó+ˆIÜ˜	 ?¸ÀEÖJñ-K÷	;ð 	;ús   Á.D-Ä-D6	zinput_dtype, expected_dtypec                 ó  — t         j                  j                  d«      }|j                  dd«      } | d¬«      }|j	                  |j                  |«      «      }|j                  j                  |k(  sJ ‚|j                  |k(  sJ ‚y )Né*   é   é¸  r   rZ   )r   r   r   Úrandr�   Úastyper§   r½   )r»   Úinput_dtypeÚexpected_dtyper)   rÛ   r‰   Útransformeds          r+   Ú"test_random_projection_dtype_matchré   #  sw   € ô �)‰)×
Ñ
 Ó
#€CØ�‰��TÓ€AÙ	¨AÔ	.€BØ×"Ñ" 1§8¡8¨KÓ#8Ó9€Kà�>‰>×Ñ >Ò1Ð1Ð1Ø×Ñ Ò.Ð.Ñ.r-   c                 ó¢  — d}t         j                  j                  d«      }|j                  dd«      } | d¬«      } | d¬«      }|j	                  |j                  t         j                  «      «      }|j	                  |j                  t         j                  «      «      }t        |||¬«       t        |j                  |j                  «       y )Nr¹   rá   râ   rã   r   rZ   )rÓ   )r   r   r   rä   r�   rå   Úfloat32Úfloat64r   r   r§   )r»   rÓ   r)   rÛ   Úrp_32Úrp_64Úprojection_32Úprojection_64s           r+   Ú,test_random_projection_numerical_consistencyrñ   :  s�   € ð €DÜ
�)‰)×
Ñ
 Ó
#€CØ�‰��TÓ€AÙ!¨qÔ1€EÙ!¨qÔ1€Eà×'Ñ'¨¯©´·±Ó(<Ó=€MØ×'Ñ'¨¯©´·±Ó(<Ó=€Mä�M =°tÕ<ä  ×!2Ñ!2°E×4EÑ4EÕFr-   )Nrš   )Hrh   rÔ   Útypingr   r   Únumpyr   rB   Úscipy.sparseÚsparser0   Úsklearn.exceptionsr   r   Úsklearn.metricsr   Úsklearn.random_projectionr   r	   r
   r   r   Úsklearn.utils._testingr   r   r   r   r   Úsklearn.utils.fixesr   r   Ú__annotations__r   Úall_random_matrixr   r   r{   r,   r3   r$   r%   r±   r&   ÚmarkÚparametrizerE   rM   rU   rX   r`   rd   rf   rk   rp   rw   r   r…   r‹   r˜   r¡   r­   r³   r·   rº   rÉ   rß   rë   rì   Úint32Úint64ré   rñ   rL   r-   r+   ú<module>r     s5  ðÜ Û ß ã Û Ý ç HÝ /÷õ ÷õ õ /à'<Ð&=Ð ˜$˜s™)Ó =Ø&=Ð%>Ð ˜˜c™Ó >Ø,Ð/FÑFÐ à)?Ð(@Ð ˜D ™IÓ @Ø(@Ð'AÐ ˜4 ™9Ó AØ1Ð4MÑMÐ ð Øó"ò: ð #Ñ €	ˆ:Ù�˜ZÑ'¨%Ñ/Ó0€
ð ‡�×ÑØà
ˆsˆ�c˜3�ZÐ Ø
ˆcˆ�S˜#�JÐØ
ˆcˆ�S˜#�JÐðóñ:óð:ò
ò4ò
ò9òEð ‡�×Ñ˜Ð*;Ó<ñ1ó =ð1ð ‡�×Ñ˜Ð*BÓCñ7ó Dð7òFò1
òrFð ‡�×Ñ˜¨.Ó9ñBó :ðBð ‡�×Ñ˜¨.Ó9ñó :ðð* ‡�×Ñ˜¨.Ó9ñ"/ó :ð"/ðJ ‡�×Ñ˜¨.Ó9ñ 6ó :ð 6ðF ‡�×Ñ˜¨.Ó9ñ1+ó :ð1+ðh ‡�×Ñ˜¨.Ó9ñDó :ðDð( ‡�×Ñ˜¨.Ó9ñ
ó :ð
ò:Hð ‡�×Ñ˜¨.Ó9Ø‡�×ÑÐ0Ð2FÓGñ6ó Hó :ð6ð. ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜Ð&:Ó;Ø‡�×Ñ˜Ð';Ó<Ø‡�×ÑÐ0Ð2FÓGØ‡�×ÑÐ5¸¸e°}ÓEñ7Kó Fó Hó =ó <ó :ð
7Kðt ‡�×ÑÐ0Ð2FÓGØ‡�×ÑØ!à	�‰�R—Z‘ZÐ Ø	�‰�R—Z‘ZÐ Ø	�‰�2—:‘:ÐØ	�‰�2—:‘:Ðð	óñ
/óó Hð
/ð ‡�×ÑÐ0Ð2FÓGñGó HñGr-   