§
    ¦˜ºhÂx  ã                   óÞ  — 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mZmZmZmZ d dlmZmZmZmZ d	„ Z ej!         "                    d
ej#        ej$        g¦  «        ej!         "                    dej%        ej&        g¦  «        d„ ¦   «         ¦   «         Z'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j*        g d#¢¦  «        fg¦  «        ej!         "                    dej&        ej%        g¦  «        ej!         "                    d
ej#        ej$        g¦  «        d$„ ¦   «         ¦   «         ¦   «         Z+e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j*        ddg¦  «        fg¦  «        ej!         "                    dej&        ej%        g¦  «        ej!         "                    d
ej#        ej$        g¦  «        d%„ ¦   «         ¦   «         ¦   «         Z,d&„ Z-ej!         "                    dej&        ej%        g¦  «        d'„ ¦   «         Z.ej!         "                    d( ej/        d)dd*d+d ¬,¦  «         ej/        d-dd*d+d ¬,¦  «        f ej/        d)dd*d+d ¬,¦  «         ej0         ej%         ej1        d.ej)        ¬/¦  «        ¦  «         ej/        d-dd*d0¬1¦  «        gd+¬2¦  «        fg¦  «        d3„ ¦   «         Z2d4„ Z3d5„ Z4ej!         "                    d6d dg¦  «        ej!         "                    dej&        ej%        g¦  «        d7„ ¦   «         ¦   «         Z5d8„ Z6d9„ Z7d:„ Z8d;„ Z9d<„ Z:d=„ Z;ej!         "                    d
ej#        ej$        g¦  «        ej!         "                    d6g d>¢¦  «        ej!         "                    d?ej%        ej&        g¦  «        ej!         "                    d@d ej<        ej=        dAfej)        ej>        ej?        dBfg¦  «        ej!         "                    dCdBdAg¦  «        dD„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z@dE„ ZAdF„ ZBdG„ ZCdH„ ZDej!         "                    d
ej#        ej$        g¦  «        dI„ ¦   «         ZEdS )Jé    N)ÚRandomState)Úassert_array_almost_equalÚassert_array_equal)Úlinalg)Úmake_classification)Úassert_allclose)	Ú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)Úassign_rows_csrÚcsr_row_normsÚinplace_csr_row_normalize_l1Úinplace_csr_row_normalize_l2c            	      óx  — t          ddd¬¦  «        \  } }d| d<   d| d<   d| d<   t          j        | ¦  «        }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        |¦  «        }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   ÚspÚ
lil_matrixÚpytestÚraisesÚ	TypeErrorr   Ú
csr_matrixÚ
csc_matrixÚnpÚfloat32Úfloat64Úint32Úint64ÚastypeÚdtyper   ÚmeanÚvar©ÚXÚ_ÚX_lilÚX_csrÚX_cscÚexpected_dtypesÚinput_dtypeÚoutput_dtypeÚX_testÚX_sparseÚX_meansÚX_varss               úl/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_sparsefuncs.pyÚtest_mean_variance_axis0rC      ó  € Ý˜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ó   ÁA:Á:A>ÂA>r2   Ú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Úshaper2   é
   F)Úreplace)Úweightsr#   )r,   Úrandomr   ÚfullÚchoiceÚarangerI   ÚnanÚrandr1   r   ÚfinfoÚeps)r2   rF   Úrngr6   Úmissing_indicesÚsample_weightr7   r4   s           rB   Ú"test_mean_variance_axis0_precisionrX   ?   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            	      óx  — t          ddd¬¦  «        \  } }d| d<   d| d<   d| d<   t          j        | ¦  «        }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        |¦  «        }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$   r5   s               rB   Útest_mean_variance_axis1r[   S   rD   rE   )ÚXwr6   rL   )r   r   r   ©r   r   r    )r   r   r   )r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )ç      ð?r^   r^   r   r    ©r   r   r   )r   r   r   )r   r   r    g       @r^   )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   ©r2   ©r6   r#   Ú	last_meanÚlast_varÚlast_nrL   ©r6   r#   )
r1   r,   ÚzerosrI   Ú
zeros_liker0   r   r2   r   r   ©r\   r6   rL   rF   r2   r#   Ú	Xw_sparser?   rc   rd   re   Ú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                            rB   Ú+test_incr_mean_variance_axis_weighted_axis1ry   u   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Ò#Ð#Ð#Ð#Ð#Ð#rY   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   ra   rb   rf   )
r1   r,   rg   Úsizerh   r0   r   r2   r   r   ri   s                            rB   Ú+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Ò#Ð#Ð#Ð#Ð#Ð#rY   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          j        |¦  «        }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          j        |¦  «        }t#          || ¦  «        \  }}	t%          ||
¦  «         t%          |	|¦  «         t'          |j        |          |¦  «         t          j        |¦  «        }| dk    r|j	        n|}t          j        |¦  «        }t          j        |¦  «        }t          j        |¦  «        }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   rJ   c                 ó@   •— g | ]}‰                      d d‰¬¦  «        ‘ŒS ©r   r   )r{   ©Úrandint)Ú.0ÚiÚ
n_featuresrU   s     €€rB   ú
<listcomp>z0test_incr_mean_variance_axis.<locals>.<listcomp>@  s+   ø€ ÐXÐXÐXÀ!˜3Ÿ;š; q¨!°*˜;Ñ=Ô=ÐXÐXÐXrY   c                 ó@   •— g | ]}‰                      d d‰¬¦  «        ‘ŒS r€   r�   )rƒ   r„   Ú	n_samplesrU   s     €€rB   r†   z0test_incr_mean_variance_axis.<locals>.<listcomp>B  s+   ø€ ÐXÐXÐXÀ˜3Ÿ;š; q¨!°)˜;Ñ<Ô<ÐXÐXÐXrY   ra   r   )r6   r#   rc   rd   ©r#   rc   rd   re   )r,   rM   r   Úrangerg   rh   r0   ÚarrayÚ
atleast_2dÚTr%   r&   r*   r'   r(   r)   r   r   r   r   rI   r+   Úvstackr-   r.   r/   r1   r2   )r#   Údata_chunksrc   rd   re   r6   r8   r9   r@   rA   ÚX_means_incrÚX_vars_incrÚn_incrr:   r;   r<   r=   r?   r…   rˆ   rU   s                     @@@rB   Útest_incr_mean_variance_axisr“   :  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$   ÅE+Å+E/	Å2E/	ÆF0Æ0F4	Æ7F4	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   é*   ra   )rc   rd   re   r#   r   r"   r   Néÿÿÿÿ)r,   rM   r   rR   rg   rh   rI   r0   Údictr   r   r3   Útoarrayr4   r'   r(   Ú
ValueError)rF   rˆ   r…   rU   r6   rc   rd   re   ÚkwargsÚmean0Úvar0r7   s               rB   Ú)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, X2r   çš™™™™™é?Úcsr)ÚdensityÚformatr   é   )r£   r   )rH   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   ra   r‰   r"   )r,   rg   rI   r0   r   r%   rŽ   r   Únanmeanr™   Únanvarr	   Úisnan)
ÚX1ÚX2r#   rc   rd   re   Úupdated_meanÚupdated_varÚ	updated_nr6   s
             rB   Ú6test_incr_mean_variance_axis_equivalence_mean_variancer®   ¨  s;  € ð0 €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ÐPrY   c                  óD  — d} t          j        dddd¬¦  «                             ¦   «         }t          j        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¤   ra   r‰   )	r%   rM   Útocsrr,   rg   rI   r0   r   r   )	r#   r©   rª   rc   rd   re   r«   r¬   r­   s	            rB   Ú test_incr_mean_variance_no_new_nr±   Ï  s  € à€DÝ	Œ�1�a °1Ð	5Ñ	5Ô	5×	;Ò	;Ñ	=Ô	=€BÝ	Œ�1�a °1Ð	5Ñ	5Ô	5×	;Ò	;Ñ	=Ô	=€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Ñ&Ô&Ð&Ð&Ð&rY   c                  ó€  — d} t          j        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%   rM   r°   r,   rg   rI   r   r   rN   )r#   r6   rc   rd   re   r7   Únew_ns          rB   Útest_incr_mean_variance_n_floatr´   â  s®   € à€DÝ
Œ	�!�Q °!Ð4Ñ4Ô4×:Ò:Ñ<Ô<€AÝœ( 1¤7¨1¤:Ñ.Ô.µ´¸¼À¼Ñ0DÔ0Dˆx€IØ€FÝ)Ø	� 	°HÀVðñ ô �K€A€qˆ%õ �E�2œ7 1¤7¨1¤:¨q¬w°q¬zÑ:Ô:Ñ;Ô;Ð;Ð;Ð;rY   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   ra   )éª   r¸   r¸   r¸   )é®  r¹   r¹   r¹   )é,  rº   rº   rº   r¸   r¹   rº   r‰   )r,   r‹   r0   rQ   r�   r   Úcopyr   )r#   rF   Ú	old_meansÚold_variancesÚold_sample_countr6   ÚX_nanr@   rA   ÚX_sample_countÚX_nan_meansÚ
X_nan_varsÚX_nan_sample_counts                rB   Ú'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Ð7rY   c                  ó¢  — t          ddd¬¦  «        \  } }d| d<   d| d<   d| d<   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 ¦  «         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%   r*   r'   r(   rš   r   r   )r6   r7   r9   s      rB   Útest_mean_variance_illegal_axisrÇ     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   ÁA0Á0A4Á7A4ÂB2Â2B6Â9B6ÃC4Ã4C8Ã;C8ÄD9Ä9D=Å D=ÅE>Å>FÆFÆ"GÇGÇGc            	      ó  — t           j        t           j        fD ]å} t          j        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   r_   ©é	   é   é   ©r   r   r   ra   r]   é   r   )r   r    r   )r,   r-   r.   r%   r*   r‹   ÚintpÚonesrI   Ú	ones_liker™   r   r   )r2   r6   ÚX_rowsÚoutÚout_rowsÚexpects         rB   Útest_densify_rowsrØ   =  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 Ñ'Ô'Ð'Ð'ð(ð (rY   c                  óÈ  — t           j                             d¦  «        } t          j        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        ¦  «        }|                     ¦   «         }|                     ¦   «         }|                     ¦   «         }||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,   rM   r   r%   rR   r°   Útocscr™   r   r   r'   r(   r)   Útolilr1   r-   ©rU   r6   ÚXrÚXcÚXAÚscales         rB   Útest_inplace_column_scalerä   M  sª  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œ��S˜$ÑÔ€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$   Ä=#E,Å,E0Å3E0Ê'#KËKËKc                  ó  — t           j                             d¦  «        } t          j        d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,   rM   r   r%   rR   r°   rÝ   r™   Úreshaper   r   r'   r(   r)   r   rÞ   r1   r-   rß   s         rB   Útest_inplace_row_scalerç   m  sÈ  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œ��S˜$ÑÔ€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$   Å#F Æ FÆFË#K?Ë?LÌLc                  óü  — t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } t          j        | ¦  «        }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        | ¦  «        }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Ê   r_   rË   rÏ   ra   ©Úswapr   r—   r   r    )r,   r‹   r.   r%   r*   r+   r   Úget_blas_funcsr   r   r™   r'   r(   r)   rÞ   r-   ©r6   r9   r:   rê   s       rB   Útest_inplace_swap_rowrí   �  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˜”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$   È"H3È3H7È:H7Ñ"Q1Ñ1Q5Ñ8Q5c                  ó|	  — t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } t          j        | ¦  «        }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        | ¦  «        }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Ê   r_   rË   rÏ   ra   ré   r   r—   r   )r,   r‹   r.   r%   r*   r+   r   rë   r   r   r™   r'   r(   r)   rÞ   r-   rì   s       rB   Ú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Ò"R1Ò1R5Ò8R5)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—   r_   rÌ   rÎ   rÏ   ra   r0   )r#   Ú
ignore_nanr"   )r,   r‹   Úindicesr1   Úindptrr   r   )r2   r#   rð   Úmissing_valuesÚmin_funcÚmax_funcró   rñ   r6   r?   Úmins_sparseÚmaxs_sparses               rB   Ú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Ð$:Ñ$:Ô$:Ñ;Ô;Ð;Ð;Ð;rY   c                  óf  — t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } t          j        | ¦  «        }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   r_   rË   rÏ   ra   r   r"   r   rÆ   )r,   r‹   r.   r%   r*   r+   r'   r(   r)   r   rÞ   rš   )r6   r9   r:   s      rB   Ú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   Á1$B!Â!B%Â(B%ÃC#Ã#C'Ã*C'ÄD&Ä&D*Ä-D*c                  ó®  — t          j        g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        } t          j        | ¦  «        }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ý   r_   rË   rÏ   ra   r   )ç      à?gš™™™™™É?g333333Ó?çš™™™™™¹?r  )r   r   r—   éþÿÿÿNr"   )r#   rW   r   r   zaccording to the rule 'safe'rÍ   )r,   r‹   r.   r%   r*   r+   r   r	   Úsumr'   r(   r)   rš   r2   rô   r1   r0   rõ   ÚargsrÑ   Únbytes)r6   r9   r:   Ú	X_nonzerorW   ÚX_nonzero_weightedr#   Úes           rB   Ú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=   ÄD$Ä$D(Ä+D(ÅE&Å&E*Å-E*ÇB4J
 Ê

KÊ5KËKc                  ó  — t           j                             d¦  «        } |                      dd¦  «        }t          j        |d¬¦  «        }t          j        |¦  «        }t          |¦  «        }t          ||¦  «         |                      dd¦  «        }d||dk     <   |  	                    ddd¦  «        }||          ||<   t          j        |¦  «        }t          j        |d¬¦  «        }t          |¦  «        }t          ||¦  «         dd	gd
d
gddgddgg}t          j        |¦  «        }t          t          |¦  «        t          j
        ddg¦  «        ¦  «         dd	gd
dgddgg}t          j        |¦  «        }t          t          |¦  «        t          j
        ddg¦  «        ¦  «         t          j        t          ¦  «        5  t          t          j        |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rÚ   r~   r"   é3   g        gffffffæ?rJ   r  r—   r   r   r   g      à¿éûÿÿÿrÆ   )r,   rM   r   rR   Úmedianr%   r+   r
   r   r‚   r‹   r'   r(   r)   r*   )rU   r6   Údense_medianÚcscÚsparse_medianÚinds         rB   Ú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   Ç"G5Ç5G9Ç<G9c                  ó
  — t          j        d¦  «        } t          d¦  «        }t          t          fD �]O}t           j        t           j        fD �]2}|                     dd¦  «                             |¦  «        }t          j
        |¦  «        }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¬¦  «        | ¦  «         ŒÚ�Œ4�ŒQd S )N)rJ   r   rJ   r   r   r   r"   )r,   rÒ   r   r   r   r.   r-   Úrandnr1   r%   r*   r/   r0   rõ   rô   r2   Údatar   Úabsr  )rÒ   ÚrsÚinplace_csr_row_normalizer2   r6   r9   Úindex_dtypes          rB   Útest_inplace_normalizer  o  s‰  € ÝŒ7�7ÑÔ€DÝ	�R‰Œ€Bõ 	%Ý$ð&ð Kñ KÐ!õ ”j¥"¤*Ð-ð 	Kñ 	KˆEØ—’˜˜Q‘”×&Ò& uÑ-Ô-ˆAÝ”M !Ñ$Ô$ˆEÝ "¤­"¬(Ð3ð Kð K�ð ¥"¤(Ð*Ð*Ø#(¤<×#6Ò#6°{Ñ#CÔ#C�E”LØ$)¤M×$8Ò$8¸Ñ$EÔ$E�E”MØ”}Ô*¨kÒ9Ð9Ð9Ð9Ø”|Ô)¨[Ò8Ð8Ð8Ð8Ø)Ð)¨%Ñ0Ô0Ð0Ø”{ eÒ+Ð+Ð+Ð+Ø,Õ0LÐLÐLØ�J”J 1Ñ$�J”JÝ)­"¬&°©-¬-×*;Ò*;ÀÐ*;Ñ*CÔ*CÀTÑJÔJÐJÐJñKñ	Kð	Kð KrY   c                 ó  — t          j        ddd| d¬¦  «        }t           j                             |d¬¦  «        dz  }t	          |¦  «        }|j        | k    sJ ‚| t          j        k    rd	nd
}t          |||¬¦  «         d S )NrÚ   rJ   r    r–   )r¢   r2   r   r   r"   r   g�íµ ÷Æ°>gH¯¼šò×z>)Úrtol)	r%   rM   r   Únormr   r2   r,   r-   r   )r2   r6   Úscipy_normsÚnormsr  s        rB   Útest_csr_row_normsr   ‰  sŠ   € õ 	Œ	�#�r %¨uÀ2ÐFÑFÔF€Aå”)—.’. ¨�.Ñ+Ô+¨qÑ0€KÝ˜!ÑÔ€EàŒ;˜%ÒÐÐÐØ�BœJÒ&Ð&ˆ4ˆ4¨D€DÝ�E˜;¨TÐ2Ñ2Ô2Ð2Ð2Ð2rY   )FÚnumpyr,   r'   Úscipy.sparseÚsparser%   Únumpy.randomr   Únumpy.testingr   r   Úscipyr   Úsklearn.datasetsr   Úsklearn.utils._testingr   Úsklearn.utils.sparsefuncsr	   r
   r   r   r   r   r   r   r   Úsklearn.utils.sparsefuncs_fastr   r   r   r   rC   ÚmarkÚparametrizer-   r.   r*   r+   rX   r[   rQ   r‹   ry   r|   r“   rž   rM   ÚhstackrN   r®   r±   r´   rÄ   rÇ   rØ   rä   rç   rí   rï   ÚminÚmaxÚnanminÚnanmaxrû   rþ   r	  r  r  r   © rY   rB   ú<module>r3     sP	  ðØ Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ Ð Ð Ð Ð Ð à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð ð ð ð ðFð Fð FðD „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;Ø„×ÒÐ-°´¸r¼}Ð/MÑNÔNð%ð %ñ OÔNñ <Ô;ð%ð$Fð Fð 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ÑÔð	
ð+ñô ð< „×ÒÐ-°´¸r¼}Ð/MÑNÔNØ„×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ðA$ð A$ñ <Ô;ñ OÔNñ=ô ð@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 „×ÒÐ-°´¸r¼}Ð/MÑNÔNØ„×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ðA$ð A$ñ <Ô;ñ OÔNñ7ô ð:A$ðHN:ð N:ð N:ðb „×ÒÐ-°´¸r¼}Ð/MÑNÔNð5ð 5ñ OÔNð5ð8 „×ÒØð ˆBŒI�a˜ C°ÀAÐFÑFÔFØˆBŒI�b˜! S°ÀQÐGÑGÔGð	
ð
 ˆBŒI�a˜ C°ÀAÐFÑFÔFØˆBŒIà!�B”M ' "¤'¨'¸b¼fÐ"EÑ"EÔ"EÑFÔFØ�B”I˜b !¨S¸rÐBÑBÔBðð ðñ ô ð		
ðñô ð&Qð Qñ'ô ð&Qð('ð 'ð 'ð&	<ð 	<ð 	<ð „×Ò˜ ! Q Ñ(Ô(Ø„×ÒÐ-°´¸r¼}Ð/MÑNÔNð,8ð ,8ñ OÔNñ )Ô(ð,8ð^
ð 
ð 
ð<(ð (ð (ð /ð /ð /ð@/ð /ð /ð@-(ð -(ð -(ð`-+ð -+ð -+ð` „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;Ø„×Ò˜   Ñ.Ô.Ø„×Ò˜¨2¬=¸"¼-Ð*HÑIÔIØ„×ÒØ4ØˆŒ�”˜Ð "¤&¨"¬)°R´YÀÐ!EÐFñô ð „×Ò˜¨4°¨-Ñ8Ô8ð<ð <ñ 9Ô8ñ	ô ñ JÔIñ /Ô.ñ <Ô;ð<ð<%ð %ð %ð)Wð )Wð )WðX,ð ,ð ,ðDKð Kð Kð4 „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð
3ð 
3ñ <Ô;ð
3ð 
3ð 
3rY   