§
    €Øj“  ã                   óØ  — 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
 d dlmZ d dl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mZmZmZm Z m!Z!m"Z" d d	l#m$Z$m%Z%m&Z&m'Z' ej(         )                    d
e¦  «        ej(         )                    de¦  «        ej(         )                    de¦  «        d„ ¦   «         ¦   «         ¦   «         Z*ej(         )                    dej+        ej,        g¦  «        ej(         )                    deez   ¦  «        d„ ¦   «         ¦   «         Z-ej(         )                    d
e¦  «        ej(         )                    de¦  «        ej(         )                    de¦  «        d„ ¦   «         ¦   «         ¦   «         Z.ej(         )                    g d¢g d¢g d¢gg d¢g d¢gg d¢fg d¢g d¢gg d¢g d¢gg d¢fg d¢g d¢gg d¢g d¢gdfd ej/        dgd ej/        ej/        ggd ej/        dgd ej/        ej/        ggg d¢fd d gdej/        gdd gd dgej/        ej/        gej/        dggg d¢ddej/        gg d¢g d ¢ej/        ej/        ej/        gej/        ej/        dggd!d"gfg d#¢g d$¢gg d%¢g d&¢g ej0        g d'¢¦  «        fg¦  «        ej(         )                    deez   ¦  «        ej(         )                    dej+        ej,        g¦  «        d(„ ¦   «         ¦   «         ¦   «         Z1ej(         )                    g d¢g d¢g d¢gg d¢g d¢gddgfg d¢g d¢gg d¢g d¢g d¢gddgfg d¢g d¢gg d¢g d¢gdfd ej/        dgd ej/        ej/        ggd ej/        dgd ej/        ej/        ggd"d"gfd d dej/        dd gd dej/        ej/        ej/        dggd d dej/        dd gd d dej/        dd gd dej/        ej/        ej/        dggd!d"gfg d#¢g d¢gg d#¢g d¢g d¢g d¢g ej0        ddg¦  «        fg¦  «        ej(         )                    deez   ¦  «        ej(         )                    dej+        ej,        g¦  «        d)„ ¦   «         ¦   «         ¦   «         Z2ej(         )                    d
e¦  «        ej(         )                    de¦  «        ej(         )                    de¦  «        d*„ ¦   «         ¦   «         ¦   «         Z3ej(         )                    deez   ¦  «        d+„ ¦   «         Z4ej(         )                    d, ed-d.d/d ¬0¦  «         ed1d.d/d ¬0¦  «        f ed-d.d/d ¬0¦  «         ej5         ej6        d2ej/        ¬3¦  «         ed2d.d4¬5¦  «        gd/¬6¦  «        fg¦  «        ej(         )                    de¦  «        d7„ ¦   «         ¦   «         Z7d8„ Z8d9„ Z9ej(         )                    d:d dg¦  «        ej(         )                    deez   ¦  «        d;„ ¦   «         ¦   «         Z:ej(         )                    de¦  «        d<„ ¦   «         Z;ej(         )                    de¦  «        d=„ ¦   «         Z<d>„ Z=d?„ Z>ej(         )                    d
e¦  «        ej(         )                    de¦  «        d@„ ¦   «         ¦   «         Z?ej(         )                    d
e¦  «        ej(         )                    de¦  «        dA„ ¦   «         ¦   «         Z@ej(         )                    dej+        ej,        g¦  «        ej(         )                    d:g dB¢¦  «        ej(         )                    dCeez   ¦  «        ej(         )                    dDd ejA        ejB        dEfej/        ejC        ejD        dFfg¦  «        ej(         )                    dGdFdEg¦  «        dH„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZEej(         )                    d
e¦  «        ej(         )                    de¦  «        dI„ ¦   «         ¦   «         ZFej(         )                    d
e¦  «        ej(         )                    de¦  «        dJ„ ¦   «         ¦   «         ZGej(         )                    d
e¦  «        ej(         )                    de¦  «        dK„ ¦   «         ¦   «         ZHej(         )                    dLe&e'f¦  «        ej(         )                    de¦  «        dM„ ¦   «         ¦   «         ZIej(         )                    dej+        ej,        g¦  «        dN„ ¦   «         ZJ ejK        dOeez   ¬P¦  «        dQ„ ¦   «         ZLdR„ ZMdS„ ZNdT„ ZOdU„ ZPej(         )                    g dV¢ edd/¬6¦  «         edd/¬6¦  «        ddWf edd/¬6¦  «         edd/¬6¦  «         ejQ        d¦  «        dXf eddY¬6¦  «         edd/¬6¦  «        ddZf edd/¬6¦  «         eddY¬6¦  «        dd[f edd/ejR        ¬\¦  «         edd/¬6¦  «        dd]f edd/ej+        ¬\¦  «         edd/ej,        ¬\¦  «        dd]fg¦  «        d^„ ¦   «         ZSej(         )                    d_dEdFg¦  «        ej(         )                    d`eez   ¦  «        ej(         )                    daeez   ¦  «        ej(         )                    dej+        ej,        g¦  «        db„ ¦   «         ¦   «         ¦   «         ¦   «         ZTdS )cé    N)ÚRandomState)Úassert_array_almost_equalÚassert_array_equal)Úlinalg)Úmake_classification)Úassert_allclose)ÚCSC_CONTAINERSÚCSR_CONTAINERSÚLIL_CONTAINERSÚ_sparse_eye_arrayÚ_sparse_random_array)Ú_implicit_column_offsetÚcount_nonzeroÚcsc_median_axis_0Úincr_mean_variance_axisÚinplace_column_scaleÚinplace_row_scaleÚinplace_swap_columnÚinplace_swap_rowÚmean_variance_axisÚmin_max_axisÚsparse_matmul_to_dense)Úassign_rows_csrÚcsr_row_normsÚinplace_csr_row_normalize_l1Úinplace_csr_row_normalize_l2Úcsc_containerÚcsr_containerÚlil_containerc           	      óB  — t          ddd¬¦  «        \  }}d|d<   d|d<   d|d<    ||¦  «        }d|d<   d|d<   t          j        t          ¦  «        5  t	          |d¬	¦  «         d d d ¦  «         n# 1 swxY w Y    ||¦  «        } | |¦  «        }t
          j        t
          j        ft
          j        t
          j        ft
          j        t
          j        ft
          j	        t
          j        fg}|D ]¬\  }	}
| 
                    |	¦  «        }||fD ]�}| 
                    |	¦  «        }t	          |d¬	¦  «        \  }}|j        |
k    sJ ‚|j        |
k    sJ ‚t          |t          j        |d¬	¦  «        ¦  «         t          |t          j        |d¬	¦  «        ¦  «         ŒŽŒ­d S )
Né   é   r   ©Úrandom_state©r   r   ©é   é   ©r"   é   ©r(   r   ©Úaxis©r   ÚpytestÚraisesÚ	TypeErrorr   ÚnpÚfloat32Úfloat64Úint32Úint64ÚastypeÚdtyper   ÚmeanÚvar©r   r   r   ÚXÚ_ÚX_lilÚX_csrÚX_cscÚexpected_dtypesÚinput_dtypeÚoutput_dtypeÚX_testÚX_sparseÚX_meansÚX_varss                  ú™/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/sklearn/utils/tests/test_sparsefuncs.pyÚtest_mean_variance_axis0rI   &   ó  € õ ˜q !°!Ð4Ñ4Ô4�D€A€qà€A€d�GØ€A€d�GØ€A€d�GØˆM˜!ÑÔ€EØ€Eˆ$�KØ€A€d�Gå	Œ•yÑ	!Ô	!ð *ð *Ý˜5 qÐ)Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð ˆM˜%Ñ Ô €EØˆM˜%Ñ Ô €Eõ 
Œ•R”ZÐ Ý	Œ•R”ZÐ Ý	Œ•2”:ÐÝ	Œ•2”:Ðð	€Oð &5ð Fð FÑ!ˆ�\Ø—’˜+Ñ&Ô&ˆØ ˜ð 	Fð 	FˆHØ—’ {Ñ3Ô3ˆHÝ0°ÀÐBÑBÔB‰OˆG�VØ”= LÒ0Ð0Ð0Ð0Ø”< <Ò/Ð/Ð/Ð/Ý% g­r¬w°vÀAÐ/FÑ/FÔ/FÑGÔGÐGÝ% f­b¬f°VÀ!Ð.DÑ.DÔ.DÑEÔEÐEÐEð	FðFð Fó   ÁA1Á1A5Á8A5r8   Úsparse_constructorc                 óâ  — t           j                             d¦  «        }t          j        dd| ¬¦  «        }|                     t          j        |j        d         ¦  «        dd¬¦  «        }t           j        ||df<    ||¦  «        }|                     |j        d         ¦  «         	                    | ¦  «        }t          ||d¬¦  «        \  }}|t          j        | ¦  «        j        k     sJ ‚d S )	Nr   g      Y@)iè  r(   )Ú
fill_valueÚshaper8   é
   F)Úreplace)Úweightsr-   )r2   Úrandomr   ÚfullÚchoiceÚarangerO   ÚnanÚrandr7   r   ÚfinfoÚeps)r8   rL   Úrngr<   Úmissing_indicesÚsample_weightr=   r:   s           rH   Ú"test_mean_variance_axis0_precisionr^   K   sØ   € õ
 Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œ˜5¨	¸Ð?Ñ?Ô?€Aà—j’j¥¤¨1¬7°1¬:Ñ!6Ô!6¸ÀE�jÑJÔJ€OÝœF€A€o�qÐÑØÐ˜1ÑÔ€Að —H’H˜QœW QœZÑ(Ô(×/Ò/°Ñ6Ô6€Må ¨=¸qÐAÑAÔA�F€A€sà•”˜%‘”Ô$Ò$Ð$Ð$Ð$Ð$Ð$ó    c           	      óB  — t          ddd¬¦  «        \  }}d|d<   d|d<   d|d<    ||¦  «        }d|d<   d|d<   t          j        t          ¦  «        5  t	          |d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y    ||¦  «        } | |¦  «        }t
          j        t
          j        ft
          j        t
          j        ft
          j        t
          j        ft
          j	        t
          j        fg}|D ]¬\  }	}
| 
                    |	¦  «        }||fD ]�}| 
                    |	¦  «        }t	          |d¬
¦  «        \  }}|j        |
k    sJ ‚|j        |
k    sJ ‚t          |t          j        |d¬
¦  «        ¦  «         t          |t          j        |d¬
¦  «        ¦  «         ŒŽŒ­d S )Nr!   r"   r   r#   r%   r&   r)   r+   r(   r,   r.   r;   s                  rH   Útest_mean_variance_axis1ra   _   rJ   rK   )ÚXwr<   rR   )r   r   r(   ©r   r'   r*   )r(   r(   r(   )r   r(   r(   )r   r   r   r(   )r   r(   r(   r(   )r(   r'   r(   r'   )ç      ð?rd   rd   r(   r*   ©r   r   r   )r'   r'   r   )r   r   r*   g       @rd   )r(   r   r(   )r   r*   r(   )r(   r   r   r   r(   )r   r*   r*   r*   r(   )r(   r*   r(   c                 óÖ  — d} || ¦  «                              |¦  «        } ||¦  «                              |¦  «        }t          j        t          j        | ¦  «        d         |¬¦  «        }t          j        ||¬¦  «        }	t          j        |t          j        ¬¦  «        }
t          ||||	|
d ¬¦  «        \  }}}t          ||||	|
|¬¦  «        \  }}}|j        |k    sJ ‚|j        |k    sJ ‚|j        |k    sJ ‚t          ||¬¦  «        \  }}t          ||¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          |||||d ¬¦  «        \  }}}t          ||||||¬¦  «        \  }}}t          ||¦  «         t          ||¦  «         t          ||¦  «         |j        |k    sJ ‚|j        |k    sJ ‚|j        |k    sJ ‚d S )Nr(   r   ©r8   ©r<   r-   Ú	last_meanÚlast_varÚlast_nrR   ©r<   r-   )
r7   r2   ÚzerosrO   Ú
zeros_liker6   r   r8   r   r   ©rb   r<   rR   rL   r8   r-   Ú	Xw_sparserE   ri   rj   rk   Úmeans0Úvars0Ún_incr0Úmeans_w0Úvars_w0Ú	n_incr_w0Úmeans_simpleÚvars_simpleÚmeans1Úvars1Ún_incr1Úmeans_w1Úvars_w1Ú	n_incr_w1s                            rH   Ú+test_incr_mean_variance_axis_weighted_axis1r   „   s]  € ðF €DØ"Ð" 2Ñ&Ô&×-Ò-¨eÑ4Ô4€IØ!Ð! !Ñ$Ô$×+Ò+¨EÑ2Ô2€Hå”�œ "™œ aœ°Ð6Ñ6Ô6€IÝŒ}˜Y¨eÐ4Ñ4Ô4€HÝŒ]˜9­B¬HÐ5Ñ5Ô5€FÝ4Ø
ØØØØØðñ ô Ñ€FˆE�7õ $;Ø
ØØØØØð$ñ $ô $Ñ €Hˆg�yð Œ>˜UÒ"Ð"Ð"Ð"ØŒ=˜EÒ!Ð!Ð!Ð!ØŒ?˜eÒ#Ð#Ð#Ð#å 2°XÀDÐ IÑ IÔ IÑ€L�+å˜f hÑ/Ô/Ð/Ý˜f lÑ3Ô3Ð3Ý˜e WÑ-Ô-Ð-Ý˜e [Ñ1Ô1Ð1Ý˜g yÑ1Ô1Ð1õ 5Ø
ØØØØØðñ ô Ñ€FˆE�7õ $;Ø
ØØØØØð$ñ $ô $Ñ €Hˆg�yõ ˜f hÑ/Ô/Ð/Ý˜e WÑ-Ô-Ð-Ý˜g yÑ1Ô1Ð1àŒ>˜UÒ"Ð"Ð"Ð"ØŒ=˜EÒ!Ð!Ð!Ð!ØŒ?˜eÒ#Ð#Ð#Ð#Ð#Ð#r_   c                 óÈ  — d} || ¦  «                              |¦  «        } ||¦  «                              |¦  «        }t          j        t          j        | d¦  «        |¬¦  «        }t          j        |¦  «        }	t          j        |t          j        ¬¦  «        }
t          ||||	|
d ¬¦  «        \  }}}t          ||||	|
|¬¦  «        \  }}}|j        |k    sJ ‚|j        |k    sJ ‚|j        |k    sJ ‚t          ||¬¦  «        \  }}t          ||¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          |||||d ¬¦  «        \  }}}t          ||||||¬¦  «        \  }}}t          ||¦  «         t          ||¦  «         t          ||¦  «         |j        |k    sJ ‚|j        |k    sJ ‚|j        |k    sJ ‚d S )Nr   r(   rg   rh   rl   )
r7   r2   rm   Úsizern   r6   r   r8   r   r   ro   s                            rH   Ú+test_incr_mean_variance_axis_weighted_axis0r‚   è   sV  € ð@ €DØ"Ð" 2Ñ&Ô&×-Ò-¨eÑ4Ô4€IØ!Ð! !Ñ$Ô$×+Ò+¨EÑ2Ô2€Hå”�œ  Q™œ¨uÐ5Ñ5Ô5€IÝŒ}˜YÑ'Ô'€HÝŒ]˜9­B¬HÐ5Ñ5Ô5€FÝ4Ø
ØØØØØðñ ô Ñ€FˆE�7õ $;Ø
ØØØØØð$ñ $ô $Ñ €Hˆg�yð Œ>˜UÒ"Ð"Ð"Ð"ØŒ=˜EÒ!Ð!Ð!Ð!ØŒ?˜eÒ#Ð#Ð#Ð#å 2°XÀDÐ IÑ IÔ IÑ€L�+å˜f hÑ/Ô/Ð/Ý˜f lÑ3Ô3Ð3Ý˜e WÑ-Ô-Ð-Ý˜e [Ñ1Ô1Ð1Ý˜g yÑ1Ô1Ð1õ 5Ø
ØØØØØðñ ô Ñ€FˆE�7õ $;Ø
ØØØØØð$ñ $ô $Ñ €Hˆg�yõ ˜f hÑ/Ô/Ð/Ý˜e WÑ-Ô-Ð-Ý˜g yÑ1Ô1Ð1àŒ>˜UÒ"Ð"Ð"Ð"ØŒ=˜EÒ!Ð!Ð!Ð!ØŒ?˜eÒ#Ð#Ð#Ð#Ð#Ð#r_   c           
      ó¸  ‡‡‡— dD �]Ò}t           j                             d¦  «        ŠdŠdŠ|dk    rˆˆfd„t          ‰¦  «        D ¦   «         }nˆˆfd„t          ‰¦  «        D ¦   «         }|dk    rt          j        ‰¦  «        nt          j        ‰¦  «        }t          j        |¦  «        }t          j        |t           j        ¬¦  «        }t          j        |d         ¦  «        }t          j        |¦  «        }|dk    r|j	        n|} ||¦  «        }	 ||	¦  «        }
t          j        t          ¦  «        5  t          ||||¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |	||||¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          |
|¦  «        \  }}t          |
||||¬
¦  «        \  }}}t          ||¦  «         t          ||¦  «         t!          |j        |         |¦  «          | |	¦  «        }t          ||¦  «        \  }}t          ||¦  «         t          ||¦  «         t!          |j        |         |¦  «         t          j        |¦  «        }|dk    r|j	        n|} ||¦  «        }	 ||	¦  «        }
 | |	¦  «        }t           j        t           j        ft           j        t           j        ft           j        t           j        ft           j        t           j        fg}|D ]Ë\  }}|
|fD ]Á}|                     |¦  «        }|                     |¦  «        }|                     |¦  «        }t          ||¦  «        \  }}t          |||||¬
¦  «        \  }}}|j        |k    sJ ‚|j        |k    sJ ‚t          ||¦  «         t          ||¦  «         t!          |j        |         |¦  «         ŒÂŒÌ�ŒÔd S )N©r   r(   r   é2   rP   c                 ó@   •— g | ]}‰                      d d‰¬¦  «        ‘ŒS ©r   r'   )r�   ©Úrandint)Ú.0ÚiÚ
n_featuresr[   s     €€rH   ú
<listcomp>z0test_incr_mean_variance_axis.<locals>.<listcomp>R  s+   ø€ ÐXÐXÐXÀ!˜3Ÿ;š; q¨!°*˜;Ñ=Ô=ÐXÐXÐXr_   c                 ó@   •— g | ]}‰                      d d‰¬¦  «        ‘ŒS r‡   rˆ   )rŠ   r‹   Ú	n_samplesr[   s     €€rH   r�   z0test_incr_mean_variance_axis.<locals>.<listcomp>T  s+   ø€ ÐXÐXÐXÀ˜3Ÿ;š; q¨!°)˜;Ñ<Ô<ÐXÐXÐXr_   rg   r(   )r<   r-   ri   rj   ©r-   ri   rj   rk   )r2   rS   r   Úrangerm   rn   r6   ÚarrayÚ
atleast_2dÚTr/   r0   r1   r   r   r   r   rO   Úvstackr3   r4   r5   r7   r8   )r   r   r   r-   Údata_chunksri   rj   rk   r<   r>   r?   rF   rG   ÚX_means_incrÚX_vars_incrÚn_incrr@   rA   rB   rC   rE   rŒ   r�   r[   s                        @@@rH   Útest_incr_mean_variance_axisrš   I  s¥  øøø€ ð ð M:ñ M:ˆÝŒi×#Ò# AÑ&Ô&ˆØˆ
Øˆ	Ø�1Š9ˆ9ØXÐXÐXÐXÐXÅuÈYÑGWÔGWÐXÑXÔXˆKˆKàXÐXÐXÐXÐXÅeÈJÑFWÔFWÐXÑXÔXˆKð -1°AªI¨I•B”H˜ZÑ(Ô(Ð(½2¼8ÀIÑ;NÔ;Nˆ	Ý”= Ñ+Ô+ˆÝ”˜yµ´Ð9Ñ9Ô9ˆõ ŒH�[ ”^Ñ$Ô$ˆÝŒM˜!ÑÔˆØ˜1’9�9ˆAŒCˆC !ˆØ�˜aÑ Ô ˆØ�˜eÑ$Ô$ˆåŒ]�9Ñ%Ô%ð 	ð 	Ý#Ø˜Y°(ÀVðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�9Ñ%Ô%ð 	ð 	Ý#Ø˜D¨IÀÐQWðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ -¨U°DÑ9Ô9‰ˆ�Ý,CØ˜¨	¸HÈVð-
ñ -
ô -
Ñ)ˆ�k 6õ 	" '¨<Ñ8Ô8Ð8Ý! &¨+Ñ6Ô6Ð6å˜1œ7 4œ=¨&Ñ1Ô1Ð1à�˜eÑ$Ô$ˆÝ,¨U°DÑ9Ô9‰ˆ�Ý! '¨<Ñ8Ô8Ð8Ý! &¨+Ñ6Ô6Ð6Ý˜1œ7 4œ=¨&Ñ1Ô1Ð1õ ŒI�kÑ"Ô"ˆØ˜1’9�9ˆAŒCˆC !ˆØ�˜aÑ Ô ˆØ�˜eÑ$Ô$ˆØ�˜eÑ$Ô$ˆõ ŒZ�œÐ$ÝŒZ�œÐ$ÝŒX•r”zÐ"ÝŒX•r”zÐ"ð	
ˆð *9ð 	:ð 	:Ñ%ˆK˜Ø" E˜Nð :ð :�Ø#Ÿ?š?¨;Ñ7Ô7�Ø%×,Ò,¨\Ñ:Ô:�	Ø#Ÿ?š?¨<Ñ8Ô8�Ý"4°X¸tÑ"DÔ"D‘�˜Ý4KØØØ'Ø%Ø!ð5ñ 5ô 5Ñ1�˜k¨6ð $Ô)¨\Ò9Ð9Ð9Ð9Ø"Ô(¨LÒ8Ð8Ð8Ð8Ý)¨'°<Ñ@Ô@Ð@Ý)¨&°+Ñ>Ô>Ð>Ý" 1¤7¨4¤=°&Ñ9Ô9Ð9Ð9ð!:ñ	:ðyM:ð M:s$   Ä9EÅE	Å E	Å=FÆF"	Æ%F"	c                 ó~  — d\  }}t           j                             d¦  «        } | |                     ||¦  «        ¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          j        |j        t           j        ¬¦  «        }t          |||¬¦  «        }t          |fddi|¤Ž\  }	}
}t          t          j        |                     ¦   «         d¬¦  «        |	¦  «         t          t          j        |                     ¦   «         d¬¦  «        |
¦  «         t          j        t           ¦  «        5  t          |fddi|¤Ž d	d	d	¦  «         n# 1 swxY w Y   t          |d	d
…         ||¬¦  «        }t          j        t           ¦  «        5  t          |fddi|¤Ž d	d	d	¦  «         d	S # 1 swxY w Y   d	S )z¦Check that we raise proper error when axis=1 and the dimension mismatch.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/pull/18655
    )é<   r"   é*   rg   )ri   rj   rk   r-   r   r,   r(   Néÿÿÿÿ)r2   rS   r   rX   rm   rn   rO   r6   Údictr   r   r9   Útoarrayr:   r/   r0   Ú
ValueError)rL   r�   rŒ   r[   r<   ri   rj   rk   ÚkwargsÚmean0Úvar0r=   s               rH   Ú)test_incr_mean_variance_axis_dim_mismatchr¥   �  s(  € ð "Ñ€IˆzÝ
Œ)×
Ò
 Ñ
#Ô
#€CØÐ˜3Ÿ8š8 I¨zÑ:Ô:Ñ;Ô;€Aå”˜Ñ$Ô$€IÝŒ}˜YÑ'Ô'€HÝŒX�i”o­R¬XÐ6Ñ6Ô6€Få˜I°ÀÐHÑHÔH€FÝ,¨QÐAÐA°QÐA¸&ÐAÐA�N€Eˆ4�Ý•B”G˜AŸIšI™KœK¨aÐ0Ñ0Ô0°%Ñ8Ô8Ð8Ý•B”F˜1Ÿ9š9™;œ;¨QÐ/Ñ/Ô/°Ñ6Ô6Ð6õ 
Œ•zÑ	"Ô	"ð 5ð 5Ý Ð4Ð4¨Ð4¨VÐ4Ð4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ ˜I c r cœN°XÀfÐMÑMÔM€FÝ	Œ•zÑ	"Ô	"ð 5ð 5Ý Ð4Ð4¨Ð4¨VÐ4Ð4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s$   Ä;EÅEÅEÆF2Æ2F6Æ9F6zX1, X2©r!   r'   çš™™™™™é?Úcsr©ÚdensityÚformatr[   )é   r'   )r¬   r(   )rN   r�   )rª   r[   )r«   c           	      óþ  —  || ¦  «        }  ||¦  «        }d}t          j        | j        d         ¦  «        t          j        | j        d         ¦  «        }}t          j        | j        d         t           j        ¬¦  «        }t	          | ||||¬¦  «        \  }}}	t	          |||||	¬¦  «        \  }}}	t          j        | |g¦  «        }
t          |t          j        |
 	                    ¦   «         |¬¦  «        ¦  «         t          |t          j
        |
 	                    ¦   «         |¬¦  «        ¦  «         t          |	t          j        t          j        |
 	                    ¦   «         ¦  «         d¬¦  «        ¦  «         d S )Nr   r(   rg   r�   r,   )r2   rm   rO   r6   r   Úspr•   r   Únanmeanr    Únanvarr   Úisnan)ÚX1ÚX2r   r-   ri   rj   rk   Úupdated_meanÚupdated_varÚ	updated_nr<   s              rH   Ú6test_incr_mean_variance_axis_equivalence_mean_variancer·   º  sY  € ð2 
ˆ�rÑ	Ô	€BØ	ˆ�rÑ	Ô	€BØ€DÝœ( 2¤8¨A¤;Ñ/Ô/µ´¸"¼(À1¼+Ñ1FÔ1Fˆx€IÝŒX�b”h˜q”k­¬Ð2Ñ2Ô2€FÝ+BØ
� °XÀfð,ñ ,ô ,Ñ(€L�+˜yõ ,CØ
� ¸ÈIð,ñ ,ô ,Ñ(€L�+˜yõ 	Œ	�2�r�(ÑÔ€AÝ�L¥"¤*¨Q¯YªY©[¬[¸tÐ"DÑ"DÔ"DÑEÔEÐEÝ�K¥¤¨1¯9ª9©;¬;¸TÐ!BÑ!BÔ!BÑCÔCÐCÝ�I�rÔ/µ´¸!¿)º)¹+¼+Ñ1FÔ1FÐ0FÈQÐOÑOÔOÑPÔPÐPÐPÐPr_   c                  óè  — d} t          dddd¬¦  «        }t          dddd¬¦  «        }t          j        |j        d         ¦  «        t          j        |j        d         ¦  «        }}t          j        |j        d         t          j        ¬¦  «        }t          || |||¬	¦  «        \  }}}t          || |||¬	¦  «        \  }}}t          ||¦  «         t          ||¦  «         t          ||¦  «         d S )
Nr   )r!   r(   r§   r¨   r©   r„   r(   rg   r�   )r   r2   rm   rO   r6   r   r   )	r-   r²   r³   ri   rj   rk   r´   rµ   r¶   s	            rH   Ú test_incr_mean_variance_no_new_nr¹   ä  sÿ   € à€DÝ	˜f¨c¸%ÀQÐ	GÑ	GÔ	G€BÝ	˜f¨c¸%ÀQÐ	GÑ	GÔ	G€BÝœ( 2¤8¨A¤;Ñ/Ô/µ´¸"¼(À1¼+Ñ1FÔ1Fˆx€IÝŒX�b”h˜q”k­¬Ð2Ñ2Ô2€FÝ"9Ø
� °XÀfð#ñ #ô #Ñ€Iˆx˜õ ,CØ
� °XÀfð,ñ ,ô ,Ñ(€L�+˜yõ �L )Ñ,Ô,Ð,Ý�K Ñ*Ô*Ð*Ý�I˜vÑ&Ô&Ð&Ð&Ð&r_   c                  óR  — d} t          dddd¬¦  «        }t          j        |j        d         ¦  «        t          j        |j        d         ¦  «        }}d}t	          || |||¬¦  «        \  }}}t          |t          j        |j        d         |j        d         ¦  «        ¦  «         d S )Nr   r¦   r§   r¨   r©   r(   r�   )r   r2   rm   rO   r   r   rT   )r-   r<   ri   rj   rk   r=   Únew_ns          rH   Útest_incr_mean_variance_n_floatr¼   ÷  s    € à€DÝ˜V¨S¸ÀAÐFÑFÔF€AÝœ( 1¤7¨1¤:Ñ.Ô.µ´¸¼À¼Ñ0DÔ0Dˆx€IØ€FÝ)Ø	� 	°HÀVðñ ô �K€A€qˆ%õ �E�2œ7 1¤7¨1¤:¨q¬w°q¬zÑ:Ô:Ñ;Ô;Ð;Ð;Ð;r_   r-   c                 óX  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢t           j        ¬¦  «        } |t          j        g d¢g d¢g d¢g¦  «        ¦  «        } |t          j        dt           j        ddgt           j        dd	d	gd	d	t           j        d
gd
d
d
t           j        gg¦  «        ¦  «        }| r|j        }|j        }t          || |                     ¦   «         |                     ¦   «         |                     ¦   «         ¬¦  «        \  }}}	t          || |                     ¦   «         |                     ¦   «         |                     ¦   «         ¬¦  «        \  }
}}t          |
|¦  «         t          ||¦  «         t          ||	¦  «         d S )N)ç     ¸€@r¾   r¾   r¾   )ç     �°@r¿   r¿   r¿   )r'   r'   r'   r'   rg   )éª   rÀ   rÀ   rÀ   )é®  rÁ   rÁ   rÁ   )é,  rÂ   rÂ   rÂ   rÀ   rÁ   rÂ   r�   )r2   r’   r6   rW   r”   r   Úcopyr   )r-   rL   Ú	old_meansÚold_variancesÚold_sample_countr<   ÚX_nanrF   rG   ÚX_sample_countÚX_nan_meansÚ
X_nan_varsÚX_nan_sample_counts                rH   Ú'test_incr_mean_variance_axis_ignore_nanrÌ     sÕ  € õ ”Ð5Ð5Ð5Ñ6Ô6€IÝ”HÐ=Ð=Ð=Ñ>Ô>€MÝ”x   µB´HÐ=Ñ=Ô=ÐàÐÝ
ŒÐ&Ð&Ð&Ð(<Ð(<Ð(<Ð>RÐ>RÐ>RÐSÑTÔTñ	ô 	€Að ÐÝ
Œà•b”f˜c 3Ð'Ý”˜˜c 3Ð'Ø�c�2œ6 3Ð'Ø�c˜3¥¤Ð'ð	ñ	
ô 	
ñ	ô 	€Eð ð ØŒCˆØ”ˆõ '>Ø	ØØ—.’.Ñ"Ô"Ø×#Ò#Ñ%Ô%Ø×$Ò$Ñ&Ô&ð'ñ 'ô 'Ñ#€GˆV�^õ 3JØØØ—.’.Ñ"Ô"Ø×#Ò#Ñ%Ô%Ø×$Ò$Ñ&Ô&ð3ñ 3ô 3Ñ/€K�Ð/õ �K Ñ)Ô)Ð)Ý�J Ñ'Ô'Ð'ÝÐ&¨Ñ7Ô7Ð7Ð7Ð7r_   c                 ó�  — t          ddd¬¦  «        \  }}d|d<   d|d<   d|d<    | |¦  «        }t          j        t          ¦  «        5  t	          |d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t	          |d
¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t	          |d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |dd d d ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |d
d d d ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |dd d d ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr!   r"   r   r#   r%   r&   r)   éýÿÿÿr,   r'   rž   r�   )r   r/   r0   r¡   r   r   )r   r<   r=   r?   s       rH   Útest_mean_variance_illegal_axisrÏ   4  sV  € å˜q !°!Ð4Ñ4Ô4�D€A€qà€A€d�GØ€A€d�GØ€A€d�GØˆM˜!ÑÔ€EÝ	Œ•zÑ	"Ô	"ð +ð +Ý˜5 rÐ*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +å	Œ•zÑ	"Ô	"ð *ð *Ý˜5 qÐ)Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *å	Œ•zÑ	"Ô	"ð +ð +Ý˜5 rÐ*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ 
Œ•zÑ	"Ô	"ð 
ð 
ÝØ˜ d°TÀ$ð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ
 
Œ•zÑ	"Ô	"ð 
ð 
ÝØ˜ T°DÀð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ
 
Œ•zÑ	"Ô	"ð 
ð 
ÝØ˜ d°TÀ$ð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
sl   Á	A'Á'A+Á.A+ÂB)Â)B-Â0B-ÃC+Ã+C/Ã2C/ÄD0Ä0D4Ä7D4ÅE5Å5E9Å<E9ÆF;Æ;F?ÇF?c           	      óð  — t           j        t           j        fD ]Ü} | g d¢g d¢g d¢g d¢g d¢g|¬¦  «        }t          j        g d¢t           j        ¬¦  «        }t          j        d|j        d	         f|¬¦  «        }t          j        g d
¢t           j        ¬¦  «        }t          j        |¦  «        }||d d …f                              ¦   «         ||<   t          ||||¦  «         t          ||¦  «         ŒÝd S )N©r   r*   r   ©r'   r"   r   re   ©é	   é   é   ©r"   r   r!   rg   rc   é   r(   )r(   r*   r"   )r2   r3   r4   r’   ÚintpÚonesrO   Ú	ones_liker    r   r   )r   r8   r<   ÚX_rowsÚoutÚout_rowsÚexpects          rH   Útest_densify_rowsrà   S  s
  € å”*�bœjÐ)ð (ð (ˆØˆMØˆYˆY˜	˜	˜	 9 9 9¨i¨i¨i¸¸¸ÐCÈ5ð
ñ 
ô 
ˆõ ”˜)˜)˜)­2¬7Ð3Ñ3Ô3ˆÝŒg�q˜!œ' !œ*�o¨UÐ3Ñ3Ô3ˆÝ”8˜I˜I˜I­R¬WÐ5Ñ5Ô5ˆå”˜cÑ"Ô"ˆØ˜V Q Q Q˜Yœ<×/Ò/Ñ1Ô1ˆˆxÑå˜˜6 8¨SÑ1Ô1Ð1Ý˜3 Ñ'Ô'Ð'Ð'ð(ð (r_   c                  ó¾  — t           j                             d¦  «        } t          dd¬¦  «        }|                     ¦   «         }|                     ¦   «         }|                     ¦   «         }|                      d¦  «        }||z  }t          ||¦  «         t          ||¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          j        t          ¦  «        5  t          |                     ¦   «         |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     t           j        ¦  «        }|                     t           j        ¦  «        }|                     ¦   «         }|                     ¦   «         }|                     ¦   «         }||z  }t          ||¦  «         t          ||¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          j        t          ¦  «        5  t          |                     ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ©éd   éÈ   çš™™™™™©?©rª   rä   )r2   rS   r   r   ÚtocsrÚtocscr    rX   r   r   r/   r0   r1   Útolilr7   r3   ©r[   r<   ÚXrÚXcÚXAÚscales         rH   Útest_inplace_column_scalerï   d  s©  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CÝ˜Z°Ð6Ñ6Ô6€AØ	
�Š‰Œ€BØ	
�Š‰Œ€BØ	
�Š‰Œ€BØ�HŠH�S‰MŒM€EØˆ%�K€Bå˜˜UÑ#Ô#Ð#Ý˜˜UÑ#Ô#Ð#Ý˜bŸjšj™lœl¨B¯JªJ©L¬LÑ9Ô9Ð9Ý˜b "§*¢*¡,¤,Ñ/Ô/Ð/Ý˜b "§*¢*¡,¤,Ñ/Ô/Ð/Ý	Œ•yÑ	!Ô	!ð /ð /Ý˜QŸWšW™YœY¨Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð 	
�Š•”ÑÔ€AØ�LŠL�œÑ$Ô$€EØ	
�Š‰Œ€BØ	
�Š‰Œ€BØ	
�Š‰Œ€BØˆ%�K€BÝ˜˜UÑ#Ô#Ð#Ý˜˜UÑ#Ô#Ð#Ý˜bŸjšj™lœl¨B¯JªJ©L¬LÑ9Ô9Ð9Ý˜b "§*¢*¡,¤,Ñ/Ô/Ð/Ý˜b "§*¢*¡,¤,Ñ/Ô/Ð/Ý	Œ•yÑ	!Ô	!ð /ð /Ý˜QŸWšW™YœY¨Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s$   Ä8#E'Å'E+Å.E+Ê"#KËKËKc                  ó  — t           j                             d¦  «        } t          dd¬¦  «        }|                     ¦   «         }|                     ¦   «         }|                     ¦   «         }|                      d¦  «        }||                     dd¦  «        z  }t          ||¦  «         t          ||¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          j        t          ¦  «        5  t          |                     ¦   «         |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     t           j        ¦  «        }|                     t           j        ¦  «        }|                     ¦   «         }|                     ¦   «         }|                     ¦   «         }||                     dd¦  «        z  }t          ||¦  «         t          ||¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          j        t          ¦  «        5  t          |                     ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   râ   rå   ræ   rã   rž   r(   )r2   rS   r   r   rç   rè   r    rX   Úreshaper   r   r/   r0   r1   r   ré   r7   r3   rê   s         rH   Útest_inplace_row_scalerò   „  sÇ  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CÝ˜Z°Ð6Ñ6Ô6€AØ	
�Š‰Œ€BØ	
�Š‰Œ€BØ	
�Š‰Œ€BØ�HŠH�S‰MŒM€EØˆ%�-Š-˜˜AÑ
Ô
Ñ€Bå�b˜%Ñ Ô Ð Ý�b˜%Ñ Ô Ð Ý˜bŸjšj™lœl¨B¯JªJ©L¬LÑ9Ô9Ð9Ý˜b "§*¢*¡,¤,Ñ/Ô/Ð/Ý˜b "§*¢*¡,¤,Ñ/Ô/Ð/Ý	Œ•yÑ	!Ô	!ð /ð /Ý˜QŸWšW™YœY¨Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð 	
�Š•”ÑÔ€AØ�LŠL�œÑ$Ô$€EØ	
�Š‰Œ€BØ	
�Š‰Œ€BØ	
�Š‰Œ€BØˆ%�-Š-˜˜AÑ
Ô
Ñ€BÝ�b˜%Ñ Ô Ð Ý�b˜%Ñ Ô Ð Ý˜bŸjšj™lœl¨B¯JªJ©L¬LÑ9Ô9Ð9Ý˜b "§*¢*¡,¤,Ñ/Ô/Ð/Ý˜b "§*¢*¡,¤,Ñ/Ô/Ð/Ý	Œ•yÑ	!Ô	!ð /ð /Ý˜QŸWšW™YœY¨Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s$   Å#E;Å;E?ÆE?Ë
#K:Ë:K>ÌK>c                 ó´  — t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } ||¦  «        } | |¦  «        }t          j        d|f¦  «        }|d         } ||d         |d	         ¦  «        \  |d<   |d	<   t          |dd	¦  «         t          |dd	¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «          ||d
         |d         ¦  «        \  |d
<   |d<   t          |d
d¦  «         t          |d
d¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          j	        t          ¦  «        5  t          |                     ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } ||¦  «        } | |¦  «        }t          j        d|f¦  «        }|d         } ||d         |d	         ¦  «        \  |d<   |d	<   t          |dd	¦  «         t          |dd	¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «          ||d
         |d         ¦  «        \  |d
<   |d<   t          |d
d¦  «         t          |d
d¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          j	        t          ¦  «        5  t          |                     ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÑ   rÒ   re   rÓ   r×   rg   ©Úswapr   rž   r'   r*   )r2   r’   r4   r   Úget_blas_funcsr   r   r    r/   r0   r1   ré   r3   ©r   r   r<   r?   r@   rõ   s         rH   Útest_inplace_swap_rowrø   ¤  sa  € õ 	ŒØ	ˆˆ�I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÐ?ÅrÄzð	ñ 	ô 	€Að ˆM˜!ÑÔ€EØˆM˜!ÑÔ€EåÔ  ¨Q¨DÑ1Ô1€DØ�Œ7€DØ�$�q˜”t˜Q˜rœUÑ#Ô#�K€A€a�Dˆ!ˆB‰%Ý�U˜A˜rÑ"Ô"Ð"Ý�U˜A˜rÑ"Ô"Ð"Ý�u—}’}‘”¨¯ª©¬Ñ8Ô8Ð8Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*à��a˜”d˜A˜aœDÑ!Ô!�J€A€a�Dˆ!ˆA‰$Ý�U˜A˜qÑ!Ô!Ð!Ý�U˜A˜qÑ!Ô!Ð!Ý�u—}’}‘”¨¯ª©¬Ñ8Ô8Ð8Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý	Œ•yÑ	!Ô	!ð (ð (Ý˜Ÿš™œÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 	ŒØ	ˆˆ�I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÐ?ÅrÄzð	ñ 	ô 	€Að ˆM˜!ÑÔ€EØˆM˜!ÑÔ€EÝÔ  ¨Q¨DÑ1Ô1€DØ�Œ7€DØ�$�q˜”t˜Q˜rœUÑ#Ô#�K€A€a�Dˆ!ˆB‰%Ý�U˜A˜rÑ"Ô"Ð"Ý�U˜A˜rÑ"Ô"Ð"Ý�u—}’}‘”¨¯ª©¬Ñ8Ô8Ð8Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ø��a˜”d˜A˜aœDÑ!Ô!�J€A€a�Dˆ!ˆA‰$Ý�U˜A˜qÑ!Ô!Ð!Ý�U˜A˜qÑ!Ô!Ð!Ý�u—}’}‘”¨¯ª©¬Ñ8Ô8Ð8Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý	Œ•yÑ	!Ô	!ð (ð (Ý˜Ÿš™œÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s$   Ç3"H!È!H%È(H%Ð"QÑQÑQc                 ó4	  — t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } ||¦  «        } | |¦  «        }t          j        d|f¦  «        }|d         } ||d d …df         |d d …d	f         ¦  «        \  |d d …df<   |d d …d	f<   t          |dd	¦  «         t          |dd	¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «          ||d d …df         |d d …d
f         ¦  «        \  |d d …df<   |d d …d
f<   t          |dd
¦  «         t          |dd
¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          j	        t          ¦  «        5  t          |                     ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } ||¦  «        } | |¦  «        }t          j        d|f¦  «        }|d         } ||d d …df         |d d …d	f         ¦  «        \  |d d …df<   |d d …d	f<   t          |dd	¦  «         t          |dd	¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «          ||d d …df         |d d …d
f         ¦  «        \  |d d …df<   |d d …d
f<   t          |dd
¦  «         t          |dd
¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          ||                     ¦   «         ¦  «         t          j	        t          ¦  «        5  t          |                     ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÑ   rÒ   re   rÓ   r×   rg   rô   r   rž   r(   )r2   r’   r4   r   rö   r   r   r    r/   r0   r1   ré   r3   r÷   s         rH   Útest_inplace_swap_columnrú   Ö  så  € õ 	ŒØ	ˆˆ�I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÐ?ÅrÄzð	ñ 	ô 	€Að ˆM˜!ÑÔ€EØˆM˜!ÑÔ€EåÔ  ¨Q¨DÑ1Ô1€DØ�Œ7€DØ˜˜Q˜q˜q˜q !˜tœW a¨¨¨¨2¨¤hÑ/Ô/Ñ€A€a€a€aˆ€d�GˆQˆqˆqˆq�"ˆu‰XÝ˜˜q "Ñ%Ô%Ð%Ý˜˜q "Ñ%Ô%Ð%Ý�u—}’}‘”¨¯ª©¬Ñ8Ô8Ð8Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*à�t˜A˜a˜a˜a ˜dœG Q q q q¨! t¤WÑ-Ô-Ñ€A€a€a€aˆ€d�GˆQˆqˆqˆq�!ˆt‰WÝ˜˜q !Ñ$Ô$Ð$Ý˜˜q !Ñ$Ô$Ð$Ý�u—}’}‘”¨¯ª©¬Ñ8Ô8Ð8Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý	Œ•yÑ	!Ô	!ð +ð +Ý˜EŸKšK™MœMÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ 	ŒØ	ˆˆ�I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÐ?ÅrÄzð	ñ 	ô 	€Að ˆM˜!ÑÔ€EØˆM˜!ÑÔ€EÝÔ  ¨Q¨DÑ1Ô1€DØ�Œ7€DØ˜˜Q˜q˜q˜q !˜tœW a¨¨¨¨2¨¤hÑ/Ô/Ñ€A€a€a€aˆ€d�GˆQˆqˆqˆq�"ˆu‰XÝ˜˜q "Ñ%Ô%Ð%Ý˜˜q "Ñ%Ô%Ð%Ý�u—}’}‘”¨¯ª©¬Ñ8Ô8Ð8Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ø�t˜A˜a˜a˜a ˜dœG Q q q q¨! t¤WÑ-Ô-Ñ€A€a€a€aˆ€d�GˆQˆqˆqˆq�!ˆt‰WÝ˜˜q !Ñ$Ô$Ð$Ý˜˜q !Ñ$Ô$Ð$Ý�u—}’}‘”¨¯ª©¬Ñ8Ô8Ð8Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý�q˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ý	Œ•yÑ	!Ô	!ð +ð +Ý˜EŸKšK™MœMÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s$   È"IÉIÉIÑ"RÒRÒR)r   r(   NÚsparse_formatz.missing_values, min_func, max_func, ignore_nanFTÚlarge_indicesc                 ó€  — t          j        g d¢dd|gg d¢d|dgg d¢g| ¬¦  «        } ||¦  «        }	|r>|	j                             d	¦  «        |	_        |	j                             d	¦  «        |	_        t          |	||¬
¦  «        \  }
}t          |
 |||¬¦  «        ¦  «         t          | |||¬¦  «        ¦  «         d S )NrÑ   r'   rž   re   rÔ   rÖ   r×   rg   r6   )r-   Ú
ignore_nanr,   )r2   r’   Úindicesr7   Úindptrr   r   )r8   r-   rû   Úmissing_valuesÚmin_funcÚmax_funcrþ   rü   r<   rE   Úmins_sparseÚmaxs_sparses               rH   Útest_min_maxr    só   € õ$ 	ŒàˆIˆIØ��NÐ#ØˆIˆIØ� Ð"ØˆIˆIð	
ð ð		ñ 		ô 		€Að ˆ}˜QÑÔ€Hàð :Ø#Ô+×2Ò2°7Ñ;Ô;ˆÔØ"œ/×0Ò0°Ñ9Ô9ˆŒå+¨H¸4ÈJÐWÑWÔWÑ€K�Ý�{ H H¨Q°TÐ$:Ñ$:Ô$:Ñ;Ô;Ð;Ý�{ H H¨Q°TÐ$:Ñ$:Ô$:Ñ;Ô;Ð;Ð;Ð;r_   c                 óB  — t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } ||¦  «        } | |¦  «        }t          j        t
          ¦  «        5  t          |                     ¦   «         d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |d	¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |d
¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÑ   ©r'   rž   r   re   rÓ   r×   rg   r   r,   r'   rÎ   )	r2   r’   r4   r/   r0   r1   r   ré   r¡   )r   r   r<   r?   r@   s        rH   Útest_min_max_axis_errorsr	  /  sß  € õ 	ŒØ	ˆˆ�J�J�J 	 	 	¨9¨9¨9°i°i°iÐ@ÍÌ
ð	ñ 	ô 	€Að ˆM˜!ÑÔ€EØˆM˜!ÑÔ€EÝ	Œ•yÑ	!Ô	!ð ,ð ,Ý�U—[’[‘]”]¨Ð+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,å	Œ•zÑ	"Ô	"ð $ð $Ý�U Ð#Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å	Œ•zÑ	"Ô	"ð %ð %Ý�U Ð$Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s6   Á$BÂBÂBÂ3CÃCÃCÃ5DÄDÄDc                 óŠ  — t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } ||¦  «        } | |¦  «        }|dk    }g d¢}|t          j        |¦  «        d d …d f         z  }d	D ]i}t          t	          ||¬
¦  «        |                     |¬
¦  «        ¦  «         t          t	          |||¬¦  «        |                     |¬
¦  «        ¦  «         Œjt          j        t          ¦  «        5  t	          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t	          |d¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |d¬
¦  «        j
        t	          |d¬
¦  «        j
        k    sJ ‚t	          |d|¬¦  «        j
        t	          |d|¬¦  «        j
        k    sJ ‚	 |j                             t           j        ¦  «        |_        |j                             t           j        ¦  «        |_        t	          |d¬
¦  «        j
        t	          |d¬
¦  «        j
        k    sJ ‚t	          |d|¬¦  «        j
        t	          |d|¬¦  «        j
        k    sJ ‚d S # t          $ r@}	d|	j        d         v rt          j        ¦   «         j        dk     s
J |	¦   «         ‚Y d }	~	d S d }	~	ww xY w)NrÑ   r  re   rÓ   r×   rg   r   )ç      à?gš™™™™™É?g333333Ó?çš™™™™™¹?r  )r   r(   rž   éþÿÿÿNr,   )r-   r]   r'   r(   zaccording to the rule 'safe'rÕ   )r2   r’   r4   r   r   Úsumr/   r0   r1   r¡   r8   rÿ   r7   r6   r   ÚargsrÙ   Únbytes)
r   r   r<   r?   r@   Ú	X_nonzeror]   ÚX_nonzero_weightedr-   Úes
             rH   Útest_count_nonzeror  ?  sš  € õ 	ŒØ	ˆˆ�J�J�J 	 	 	¨9¨9¨9°i°i°iÐ@ÍÌ
ð	ñ 	ô 	€Að ˆM˜!ÑÔ€EØˆM˜!ÑÔ€EØ�Q’€IØ-Ð-Ð-€MØ"¥R¤X¨mÑ%<Ô%<¸Q¸Q¸QÀ¸WÔ%EÑEÐà$ð 
ð 
ˆÝ!Ý˜% dÐ+Ñ+Ô+¨Y¯]ª]À¨]Ñ-EÔ-Eñ	
ô 	
ð 	
õ 	"Ý˜% d¸-ÐHÑHÔHØ×"Ò"¨Ð"Ñ-Ô-ñ	
ô 	
ð 	
ð 	
õ
 
Œ•yÑ	!Ô	!ð ð Ý�eÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÑ	"Ô	"ð %ð %Ý�e !Ð$Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ ˜ QÐ'Ñ'Ô'Ô-µ¸uÈ1Ð1MÑ1MÔ1MÔ1SÒSÐSÐSÐSå�e !°=ÐAÑAÔAÔGÝ˜ Q°mÐDÑDÔDÔJò	Kð 	Kð 	Kð 	Kð	WØœ×,Ò,­R¬XÑ6Ô6ˆŒØ”|×*Ò*­2¬8Ñ4Ô4ˆŒÝ˜U¨Ð+Ñ+Ô+Ô1µ]À5ÈqÐ5QÑ5QÔ5QÔ5WÒWÐWÐWÐWå˜% a°}ÐEÑEÔEÔKÝ˜U¨¸-ÐHÑHÔHÔNòOð Oð Oð Oð Oð Oøõ ð Wð Wð WØ-°´¸´Ð:Ð:½r¼w¹y¼yÔ?OÐRSÒ?SÐ?SÐ?SÐUVÑ?SÔ?SÐSÐ?SÐ?SÐ?SÐ?SÐ?SÐ?SøøøøðWøøøs=   Ã6DÄDÄDÄ6EÅEÅEÇB4I8 É8
KÊ5J=Ê=Kc                 óª  — t           j                             d¦  «        }|                     dd¦  «        }t          j        |d¬¦  «        } | |¦  «        }t          |¦  «        }t          ||¦  «         |                     dd¦  «        }d||dk     <   |                     ddd¦  «        }||          ||<    | |¦  «        }t          j        |d¬¦  «        }t          |¦  «        }t          ||¦  «         dd	gd
d
gddgddgg} | |¦  «        }t          t          |¦  «        t          j        ddg¦  «        ¦  «         dd	gd
dgddgg} | |¦  «        }t          t          |¦  «        t          j        ddg¦  «        ¦  «         t          j
        t          ¦  «        5  t           ||¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rã   r…   r,   é3   g        gffffffæ?rP   r  rž   r(   r'   r  g      à¿éûÿÿÿrÎ   )r2   rS   r   rX   Úmedianr   r   r‰   r’   r/   r0   r1   )r   r   r[   r<   Údense_medianÚcscÚsparse_medianÚinds           rH   Útest_csc_row_medianr  m  s$  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�Š��bÑÔ€AÝ”9˜Q QÐ'Ñ'Ô'€LØ
ˆ-˜Ñ
Ô
€CÝ% cÑ*Ô*€MÝ�} lÑ3Ô3Ð3ð 	�Š��SÑÔ€AØ€A€aˆ#‚g�JØ
�+Š+�a˜˜RÑ
 Ô
 €CØ�ŒfˆW€A€c�FØ
ˆ-˜Ñ
Ô
€CÝ”9˜Q QÐ'Ñ'Ô'€LÝ% cÑ*Ô*€MÝ�} lÑ3Ô3Ð3ð ˆRˆ�2�r�(˜Q ˜F Q¨ FÐ+€AØ
ˆ-˜Ñ
Ô
€CÝÕ(¨Ñ-Ô-­r¬x¸¸d¸Ñ/DÔ/DÑEÔEÐEØ
ˆRˆ�2�r�(˜Q ˜GÐ$€AØ
ˆ-˜Ñ
Ô
€CÝÕ(¨Ñ-Ô-­r¬x¸¸b¸	Ñ/BÔ/BÑCÔCÐCõ 
Œ•yÑ	!Ô	!ð ,ð ,Ý˜-˜-¨Ñ*Ô*Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   Æ"GÇGÇGÚinplace_csr_row_normalizec                 ó0  — t          t          j        | ¦  «        rt          j        d¦  «        }nt          j        d¦  «        }t          d¦  «        }t          j        t          j        fD �])}|                     dd¦  «         	                    |¦  «        } | |¦  «        }t          j
        t          j        fD ]Ù}|t          j        u r>|j         	                    |¦  «        |_        |j         	                    |¦  «        |_        |j        j        |k    sJ ‚|j        j        |k    sJ ‚ ||¦  «         |j        |k    sJ ‚|t          u r|xj        dz  c_        t#          t          j        |¦  «                             d¬¦  «        |¦  «         ŒÚ�Œ+d S )N)rP   r(   rP   r!   r'   r(   r,   )Ú
issubclassr®   Ú
csr_matrixr2   rÚ   r   r4   r3   Úrandnr7   r5   r6   r   rÿ   r8   r   Údatar   Úabsr  )r   r  rÚ   Úrsr8   r<   r?   Úindex_dtypes           rH   Útest_inplace_normalizer'  ‘  sŠ  € õ •"”- Ñ/Ô/ð ÝŒw�wÑÔˆˆåŒw�r‰{Œ{ˆÝ	�R‰Œ€Bå”*�bœjÐ)ð Gñ GˆØ�HŠH�R˜‰OŒO×"Ò" 5Ñ)Ô)ˆØ�˜aÑ Ô ˆÝœH¥b¤hÐ/ð 	Gð 	GˆKð �bœhÐ&Ð&Ø$œ|×2Ò2°;Ñ?Ô?�”Ø %¤× 4Ò 4°[Ñ AÔ A�”Ø”=Ô&¨+Ò5Ð5Ð5Ð5Ø”<Ô%¨Ò4Ð4Ð4Ð4Ø%Ð% eÑ,Ô,Ð,Ø”; %Ò'Ð'Ð'Ð'Ø(Õ,HÐHÐHØ�
”
˜qÑ �
”
Ý%¥b¤f¨U¡m¤m×&7Ò&7¸QÐ&7Ñ&?Ô&?ÀÑFÔFÐFÐFñ	GðGð Gr_   c                 óø   — t          dd| d¬¦  «        }t          j                             |d¬¦  «        dz  }t	          |¦  «        }|j        | k    sJ ‚| t          j        k    rdnd	}t          |||¬
¦  «         d S )N)rã   rP   r¨   r�   )r«   r8   r[   r(   r,   r'   g�íµ ÷Æ°>çH¯¼šò×z>)Úrtol)	r   r®   r   Únormr   r8   r2   r3   r   )r8   r<   Úscipy_normsÚnormsr*  s        rH   Útest_csr_row_normsr.  ¯  s†   € õ 	˜Y¨u¸EÀrÐJÑJÔJ€Aå”)—.’. ¨�.Ñ+Ô+¨qÑ0€KÝ˜!ÑÔ€EàŒ;˜%ÒÐÐÐØ�BœJÒ&Ð&ˆ4ˆ4¨D€DÝ�E˜;¨TÐ2Ñ2Ô2Ð2Ð2Ð2r_   Úmodule)ÚscopeÚparamsc                 óT  — | j         }t          j                             d¦  «        } |t	          ddd|¬¦  «        ¦  «        }|                     ¦   «         }t          j        |                     d¬¦  «        ¦  «                             ¦   «         }t          ||¦  «        }||z
  }||fS )z?Returns equivalent tuple[sp.linalg.LinearOperator, np.ndarray].r�   )iô  rã   r  r¨   r©   r   r,   )
Úparamr2   rS   Údefault_rngr   r    Úasarrayr9   Úravelr   )ÚrequestÚsparse_containerr[   rE   ÚX_denseÚmuÚX_sparse_centeredÚX_dense_centereds           rH   Úcentered_matricesr=  ½  s©   € ð ”}Ðå
Œ)×
Ò
 Ñ
#Ô
#€CàÐÝ˜Z°¸UÈÐLÑLÔLñô €Hð ×ÒÑ Ô €GÝ	Œ�H—M’M q�MÑ)Ô)Ñ	*Ô	*×	0Ò	0Ñ	2Ô	2€Bå/°¸"Ñ=Ô=ÐØ ‘|ÐàÐ.Ð.Ð.r_   c                 ó
  — |\  }}t           j                             | ¦  «        }|                     |j        d         df¦  «        }t          ||z  |                     |¦  «        ¦  «         t          ||z  ||z  ¦  «         d S )Nr(   r…   )r2   rS   r4  Ústandard_normalrO   r   Úmatmat©Úglobal_random_seedr=  r;  r<  r[   ÚYs         rH   Útest_implicit_center_matmatrD  Ð  sŒ   € Ø*;Ñ'ÐÐ'Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ×ÒÐ-Ô3°AÔ6¸Ð;Ñ<Ô<€AÝÐ$ qÑ(Ð*;×*BÒ*BÀ1Ñ*EÔ*EÑFÔFÐFÝÐ$ qÑ(Ð*;¸aÑ*?Ñ@Ô@Ð@Ð@Ð@r_   c                 ó  — |\  }}t           j                             | ¦  «        }|                     |j        d         ¦  «        }t          ||z  |                     |¦  «        ¦  «         t          ||z  ||z  ¦  «         d S )Nr(   )r2   rS   r4  r?  rO   r   Úmatvec©rB  r=  r;  r<  r[   Úys         rH   Útest_implicit_center_matvecrI  Ø  s‡   € Ø*;Ñ'ÐÐ'Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ×ÒÐ,Ô2°1Ô5Ñ6Ô6€AÝÐ$ qÑ(Ð*;×*BÒ*BÀ1Ñ*EÔ*EÑFÔFÐFÝÐ$ qÑ(Ð*;¸aÑ*?Ñ@Ô@Ð@Ð@Ð@r_   c                 ó(  — |\  }}t           j                             | ¦  «        }|                     |j        d         df¦  «        }t          |j        |z  |                     |¦  «        ¦  «         t          |j        |z  |j        |z  ¦  «         d S )Nr   r…   )r2   rS   r4  r?  rO   r   r”   ÚrmatmatrA  s         rH   Útest_implicit_center_rmatmatrL  à  s•   € Ø*;Ñ'ÐÐ'Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ×ÒÐ-Ô3°AÔ6¸Ð;Ñ<Ô<€AÝÐ$Ô&¨Ñ*Ð,=×,EÒ,EÀaÑ,HÔ,HÑIÔIÐIÝÐ$Ô&¨Ñ*Ð,=Ô,?À!Ñ,CÑDÔDÐDÐDÐDr_   c                 ó$  — |\  }}t           j                             | ¦  «        }|                     |j        d         ¦  «        }t          |j        |z  |                     |¦  «        ¦  «         t          |j        |z  |j        |z  ¦  «         d S )Nr   )r2   rS   r4  r?  rO   r   r”   ÚrmatvecrG  s         rH   Útest_implit_center_rmatvecrO  è  s�   € Ø*;Ñ'ÐÐ'Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ×ÒÐ,Ô2°1Ô5Ñ6Ô6€AÝÐ$Ô&¨Ñ*Ð,=×,EÒ,EÀaÑ,HÔ,HÑIÔIÐIÝÐ$Ô&¨Ñ*Ð,=Ô,?À!Ñ,CÑDÔDÐDÐDÐDr_   ©ÚAÚBrÝ   ÚmsgzShapes must fulfilzShape of outÚcoozInput 'A' mustzInput 'B' must)r«   r8   zDtype of A and Bc                 ó’   — t          j        t          |¬¦  «        5  t          | ||¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z7Test that sparse_matmul_to_dense raises when it should.)Úmatch©rÝ   N)r/   r0   r¡   r   rP  s       rH   Ú"test_sparse_matmul_to_dense_raisesrX  ð  s“   € õV 
Œ•z¨Ð	-Ñ	-Ô	-ð .ð .Ý˜q !¨Ð-Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .s   œ<¼A ÁA Úout_is_NoneÚa_containerÚb_containerc                 ót  — t           j                             | ¦  «        }d\  }}}|                     ||f¦  «                             |¦  «        }	|                     ||f¦  «                             |¦  «        }
d|	j        |                     ddg||z  ddg¬¦  «        <   d|
j        |                     ddg||z  ddg¬¦  «        <    ||	¦  «        } ||
¦  «        }|rd}nt          j        ||f|¬¦  «        }t          |||¬	¦  «        }t          ||	|
z  d
¬¦  «         |st          ||d
¬¦  «         dS dS )z4Test that sparse_matmul_to_dense computes correctly.)rP   é   r¬   r   FTr  )r�   ÚpNrg   rW  r)  )Úatol)
r2   rS   r4  r?  r7   ÚflatrU   Úemptyr   r   )rB  rY  rZ  r[  r8   r[   Ún1Ún2Ún3Úa_denseÚb_denseÚaÚbrÝ   Úresults                  rH   Útest_sparse_matmul_to_denserj    sc  € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�J€BˆˆBØ×!Ò! 2 r (Ñ+Ô+×2Ò2°5Ñ9Ô9€GØ×!Ò! 2 r (Ñ+Ô+×2Ò2°5Ñ9Ô9€GØJK€G„L�—’˜U D˜M°°R±¸CÀ¸:�ÑFÔFÑGØJK€G„L�—’˜U D˜M°°R±¸CÀ¸:�ÑFÔFÑGØˆ�GÑÔ€AØˆ�GÑÔ€AØð .ØˆˆåŒh˜˜B�x uÐ-Ñ-Ô-ˆå# A q¨cÐ2Ñ2Ô2€Få�F˜G gÑ-°DÐ9Ñ9Ô9Ð9Øð 0Ý˜˜V¨$Ð/Ñ/Ô/Ð/Ð/Ð/ð0ð 0r_   )UÚnumpyr2   r/   Úscipy.sparseÚsparser®   Únumpy.randomr   Únumpy.testingr   r   Úscipyr   Úsklearn.datasetsr   Úsklearn.utils._testingr   Úsklearn.utils.fixesr	   r
   r   r   r   Úsklearn.utils.sparsefuncsr   r   r   r   r   r   r   r   r   r   r   Úsklearn.utils.sparsefuncs_fastr   r   r   r   ÚmarkÚparametrizerI   r3   r4   r^   ra   rW   r’   r   r‚   rš   r¥   ÚhstackrT   r·   r¹   r¼   rÌ   rÏ   rà   rï   rò   rø   rú   ÚminÚmaxÚnanminÚnanmaxr  r	  r  r  r'  r.  Úfixturer=  rD  rI  rL  rO  Úeyer5   rX  rj  © r_   rH   ú<module>r€     sü  ðØ Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ Ð Ð Ð Ð Ð à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ðFð Fñ :Ô9ñ :Ô9ñ :Ô9ðFðD „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;Ø„×ÒÐ-¨~ÀÑ/NÑOÔOð%ð %ñ PÔOñ <Ô;ð%ð$ „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ðFð Fñ :Ô9ñ :Ô9ñ :Ô9ðFðD „×ÒØÐÐà
ˆ)ˆ)�Y�Y�YÐ	 ) ) )¨Y¨Y¨YÐ!7¸¸¸ÐCØ
ˆ)ˆ)�Y�Y�YÐ	 , , ,°°°Ð!=¸y¸y¸yÐIØ
ˆ)ˆ)�Y�Y�YÐ	 ) ) )¨Y¨Y¨YÐ!7¸Ð>à�”˜ˆ^˜a ¤¨¬Ð0Ð1Ø�”˜ˆ^˜a ¤¨¬Ð0Ð1ØˆOˆOð	
ð �ˆV�a˜œ�[ 1 a &¨1¨a¨&°2´6¸2¼6Ð2BÀRÄVÈQÀKÐPà�	�	Ø�A�r”v�Ø�	�	Ø�	�	Ø”˜œ ¤Ð(Ø”˜œ Ð#ðð �#ˆJð	
ð ˆYˆY˜	˜	˜	Ð"Øˆ_ˆ_˜o˜o˜oÐ.ØˆBŒH�Y�Y�YÑÔð	
ð+ñô ð< „×ÒÐ-¨~ÀÑ/NÑOÔOØ„×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ðA$ð A$ñ <Ô;ñ PÔOñ=ô ð@A$ðH „×ÒØÐÐà
ˆ)ˆ)�Y�Y�YÐ	 ) ) )¨Y¨Y¨YÐ!7¸!¸Q¸Ð@Ø
ˆ)ˆ)�Y�Y�YÐ	 ) ) )¨Y¨Y¨Y¸	¸	¸	Ð!BÀQÈÀFÐKØ
ˆ)ˆ)�Y�Y�YÐ	 ) ) )¨Y¨Y¨YÐ!7¸Ð>à�”˜ˆ^˜a ¤¨¬Ð0Ð1Ø�”˜ˆ^˜a ¤¨¬Ð0Ð1Ø�#ˆJð	
ð ��A�r”v˜q !Ð$ q¨!¨R¬V°R´V¸R¼VÀQÐ&GÐHà�A�q˜"œ& ! QÐ'Ø�A�q˜"œ& ! QÐ'Ø�A�r”v˜rœv r¤v¨qÐ1ðð
 �#ˆJð	
ð ˆYˆY˜	˜	˜	Ð"ØˆYˆY˜	˜	˜	 9 9 9¨i¨i¨iÐ8ØˆBŒH�a˜�VÑÔð	
ð%ñô ð6 „×ÒÐ-¨~ÀÑ/NÑOÔOØ„×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ðA$ð A$ñ <Ô;ñ PÔOñ7ô ð:A$ðH „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ðN:ð N:ñ :Ô9ñ :Ô9ñ :Ô9ðN:ðb „×ÒÐ-¨~ÀÑ/NÑOÔOð5ð 5ñ PÔOð5ð8 „×ÒØð !Ð  °¸UÈÐJÑJÔJØ Ð  °#¸eÈÐKÑKÔKð	
ð
 !Ð  °¸UÈÐJÑJÔJØˆBŒIà�B”G˜G°´Ð7Ñ7Ô7Ø(Ð(¨¸#À2ÐFÑFÔFðð ðñ ô ð		
ðñô ð& „×Ò˜¨.Ñ9Ô9ðQð Qñ :Ô9ñ'ô ð(Qð,'ð 'ð 'ð&	<ð 	<ð 	<ð „×Ò˜ ! Q Ñ(Ô(Ø„×ÒÐ-¨~ÀÑ/NÑOÔOð,8ð ,8ñ PÔOñ )Ô(ð,8ð^ „×Ò˜¨.Ñ9Ô9ð
ð 
ñ :Ô9ð
ð< „×Ò˜¨.Ñ9Ô9ð(ð (ñ :Ô9ð(ð /ð /ð /ð@/ð /ð /ð@ „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ð-(ð -(ñ :Ô9ñ :Ô9ð-(ð` „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ð-+ð -+ñ :Ô9ñ :Ô9ð-+ð` „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;Ø„×Ò˜   Ñ.Ô.Ø„×Ò˜¨.¸>Ñ*IÑJÔJØ„×ÒØ4ØˆŒ�”˜Ð "¤&¨"¬)°R´YÀÐ!EÐFñô ð „×Ò˜¨4°¨-Ñ8Ô8ð<ð <ñ 9Ô8ñ	ô ñ KÔJñ /Ô.ñ <Ô;ð<ð> „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ð%ð %ñ :Ô9ñ :Ô9ð%ð „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ð)Wð )Wñ :Ô9ñ :Ô9ð)WðX „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ð,ð ,ñ :Ô9ñ :Ô9ð,ðD „×ÒØØ!Ð#?Ð@ñô ð „×Ò˜¨.Ñ9Ô9ðGð Gñ :Ô9ñ	ô ð
Gð2 „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð
3ð 
3ñ <Ô;ð
3ð €„�h ~¸Ñ'FÐGÑGÔGð/ð /ñ HÔGð/ð$Að Að AðAð Að AðEð Eð EðEð Eð Eð „×ÒØÐÐð Ð˜a¨Ð.Ñ.Ô.ØÐ˜a¨Ð.Ñ.Ô.ØØ ð		
ð Ð˜a¨Ð.Ñ.Ô.ØÐ˜a¨Ð.Ñ.Ô.ØˆBŒF�1‰IŒIØð		
ð Ð˜a¨Ð.Ñ.Ô.ØÐ˜a¨Ð.Ñ.Ô.ØØð		
ð Ð˜a¨Ð.Ñ.Ô.ØÐ˜a¨Ð.Ñ.Ô.ØØð		
ð Ð˜a¨°R´XÐ>Ñ>Ô>ØÐ˜a¨Ð.Ñ.Ô.ØØð		
ð Ð˜a¨°R´ZÐ@Ñ@Ô@ØÐ˜a¨°R´ZÐ@Ñ@Ô@ØØð		
ð?%ñ(ô (ðR.ð .ñS(ô (ðR.ð „×Ò˜¨°¨Ñ6Ô6Ø„×Ò˜¨¸Ñ(GÑHÔHØ„×Ò˜¨¸Ñ(GÑHÔHØ„×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð0ð 0ñ <Ô;ñ IÔHñ IÔHñ 7Ô6ð0ð 0ð 0r_   