Ë
    ÷Q(hkˆ  ã                   ó@  — 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 d dl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jJ                  jM                  d
e«      ejJ                  jM                  de«      ejJ                  jM                  de«      d„ «       «       «       Z'ejJ                  jM                  dejP                  ejR                  g«      ejJ                  jM                  deez   «      d„ «       «       Z*ejJ                  jM                  d
e«      ejJ                  jM                  de«      ejJ                  jM                  de«      d„ «       «       «       Z+ejJ                  jM                  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jX                  dgd ejX                  ejX                  ggd ejX                  dgd ejX                  ejX                  ggg d¢fd d gdejX                  gdd gd dgejX                  ejX                  gejX                  dggg d¢ddejX                  gg d¢g d ¢ejX                  ejX                  ejX                  gejX                  ejX                  dggd!d"gfg d#¢g d$¢gg d%¢g d&¢g ejZ                  g d'¢«      fg«      ejJ                  jM                  deez   «      ejJ                  jM                  dejP                  ejR                  g«      d(„ «       «       «       Z.ejJ                  jM                  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jX                  dgd ejX                  ejX                  ggd ejX                  dgd ejX                  ejX                  ggd"d"gfd d dejX                  dd gd dejX                  ejX                  ejX                  dggd d dejX                  dd gd d dejX                  dd gd dejX                  ejX                  ejX                  dggd!d"gfg d#¢g d¢gg d#¢g d¢g d¢g d¢g ejZ                  ddg«      fg«      ejJ                  jM                  deez   «      ejJ                  jM                  dejP                  ejR                  g«      d)„ «       «       «       Z/ejJ                  jM                  d
e«      ejJ                  jM                  de«      ejJ                  jM                  de«      d*„ «       «       «       Z0ejJ                  jM                  deez   «      d+„ «       Z1ejJ                  jM                  d, ejd                  d-dd.d/d ¬0«       ejd                  d1dd.d/d ¬0«      f ejd                  d-dd.d/d ¬0«       ejf                   ejh                  d2ejX                  ¬3«       ejd                  d1dd.d4¬5«      gd/¬6«      fg«      ejJ                  jM                  de«      d7„ «       «       Z5d8„ Z6d9„ Z7ejJ                  jM                  d:d dg«      ejJ                  jM                  deez   «      d;„ «       «       Z8ejJ                  jM                  de«      d<„ «       Z9ejJ                  jM                  de«      d=„ «       Z:d>„ Z;d?„ Z<ejJ                  jM                  d
e«      ejJ                  jM                  de«      d@„ «       «       Z=ejJ                  jM                  d
e«      ejJ                  jM                  de«      dA„ «       «       Z>ejJ                  jM                  dejP                  ejR                  g«      ejJ                  jM                  d:g dB¢«      ejJ                  jM                  dCeez   «      ejJ                  jM                  dDd ej~                  ej€                  dEfejX                  ej‚                  ej„                  dFfg«      ejJ                  jM                  dGdFdEg«      dH„ «       «       «       «       «       ZCejJ                  jM                  d
e«      ejJ                  jM                  de«      dI„ «       «       ZDejJ                  jM                  d
e«      ejJ                  jM                  de«      dJ„ «       «       ZEejJ                  jM                  d
e«      ejJ                  jM                  de«      dK„ «       «       ZFejJ                  jM                  dLe#e$f«      ejJ                  jM                  de«      dM„ «       «       ZGejJ                  jM                  dejP                  ejR                  g«      dN„ «       ZH ej’                  dOeez   ¬P«      dQ„ «       ZJdR„ ZKdS„ ZLdT„ ZMdU„ ZNy)Vé    N)ÚRandomState)Úassert_array_almost_equalÚassert_array_equal)Úlinalg)Úmake_classification)Úassert_allclose)ÚCSC_CONTAINERSÚCSR_CONTAINERSÚLIL_CONTAINERS)
Ú_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)Úassign_rows_csrÚcsr_row_normsÚinplace_csr_row_normalize_l1Úinplace_csr_row_normalize_l2Úcsc_containerÚcsr_containerÚlil_containerc           	      óN  — t        ddd¬«      \  }}d|d<   d|d<   d|d<    ||«      }d|d<   d|d<   t        j                  t        «      5  t	        |d¬	«       d d d «        ||«      } | |«      }t
        j                  t
        j                  ft
        j                  t
        j                  ft
        j                  t
        j                  ft
        j                  t
        j                  fg}|D ]¤  \  }	}
|j                  |	«      }||fD ]‡  }|j                  |	«      }t	        |d¬	«      \  }}|j                  |
k(  sJ ‚|j                  |
k(  sJ ‚t        |t        j                  |d¬	«      «       t        |t        j                  |d¬	«      «       Œ‰ Œ¦ y # 1 sw Y   �ŒBxY w)
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                  úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/utils/tests/test_sparsefuncs.pyÚtest_mean_variance_axis0rF      ó~  € ô ˜q !°!Ô4�D€A€qà€A€d�GØ€A€d�GØ€A€d�GÙ˜!Ó€EØ€Eˆ$�KØ€A€d�Gä	�‰”yÓ	!ñ *Ü˜5 qÕ)÷*ñ ˜%Ó €EÙ˜%Ó €Eô 
�‰”R—Z‘ZÐ Ü	�‰”R—Z‘ZÐ Ü	�‰”2—:‘:ÐÜ	�‰”2—:‘:Ðð	€Oð &5ò FÑ!ˆ�\Ø—‘˜+Ó&ˆØ ˜ò 	FˆHØ—‘ {Ó3ˆHÜ0°ÀÔB‰OˆG�VØ—=‘= LÒ0Ð0Ð0Ø—<‘< <Ò/Ð/Ð/Ü% g¬r¯w©w°vÀAÔ/FÔGÜ% f¬b¯f©f°VÀ!Ô.DÕEñ	FñF÷*ñ *úó   ÁFÆF$r5   Úsparse_constructorc                 óØ  — t         j                  j                  d«      }t        j                  dd| ¬«      }|j	                  t        j
                  |j                  d   «      dd¬«      }t         j                  ||df<    ||«      }|j                  |j                  d   «      j                  | «      }t        ||d¬«      \  }}|t        j                  | «      j                  k  sJ ‚y )	Nr   g      Y@)iè  r%   )Ú
fill_valueÚshaper5   é
   F)Úreplace)Úweightsr*   )r/   Úrandomr   ÚfullÚchoiceÚarangerL   ÚnanÚrandr4   r   ÚfinfoÚeps)r5   rI   Úrngr9   Úmissing_indicesÚsample_weightr:   r7   s           rE   Ú"test_mean_variance_axis0_precisionr[   D   s½   € ô
 �)‰)×
Ñ
 Ó
"€CÜ
�‰˜5¨	¸Ô?€Aà—j‘j¤§¡¨1¯7©7°1©:Ó!6¸ÀE�jÓJ€OÜŸF™F€A€o�qÐÑÙ˜1Ó€Að —H‘H˜QŸW™W Q™ZÓ(×/Ñ/°Ó6€Mä ¨=¸qÔA�F€A€sà”—‘˜%“×$Ñ$Ò$Ð$Ñ$ó    c           	      óN  — t        ddd¬«      \  }}d|d<   d|d<   d|d<    ||«      }d|d<   d|d<   t        j                  t        «      5  t	        |d	¬
«       d d d «        ||«      } | |«      }t
        j                  t
        j                  ft
        j                  t
        j                  ft
        j                  t
        j                  ft
        j                  t
        j                  fg}|D ]¤  \  }	}
|j                  |	«      }||fD ]‡  }|j                  |	«      }t	        |d¬
«      \  }}|j                  |
k(  sJ ‚|j                  |
k(  sJ ‚t        |t        j                  |d¬
«      «       t        |t        j                  |d¬
«      «       Œ‰ Œ¦ y # 1 sw Y   �ŒBxY w)Nr   r   r   r    r"   r#   r&   r(   r%   r)   r+   r8   s                  rE   Útest_mean_variance_axis1r^   X   rG   rH   )ÚXwr9   rO   )r   r   r%   ©r   r$   r'   )r%   r%   r%   )r   r%   r%   )r   r   r   r%   )r   r%   r%   r%   )r%   r$   r%   r$   )ç      ð?ra   ra   r%   r'   ©r   r   r   )r$   r$   r   )r   r   r'   g       @ra   )r%   r   r%   )r   r'   r%   )r%   r   r   r   r%   )r   r'   r'   r'   r%   )r%   r'   r%   c                 óŠ  — d} || «      j                  |«      } ||«      j                  |«      }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 ‚y )Nr%   r   ©r5   ©r9   r*   Ú	last_meanÚlast_varÚlast_nrO   ©r9   r*   )
r4   r/   ÚzerosrL   Ú
zeros_liker3   r   r5   r   r   ©r_   r9   rO   rI   r5   r*   Ú	Xw_sparserB   rf   rg   rh   Ú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                            rE   Ú+test_incr_mean_variance_axis_weighted_axis1r|   }   s×  € ðF €DÙ" 2Ó&×-Ñ-¨eÓ4€IÙ! !Ó$×+Ñ+¨EÓ2€Hä—‘œŸ™ "› a™°Ô6€IÜ�}‰}˜Y¨eÔ4€HÜ�]‰]˜9¬B¯H©HÔ5€FÜ4Ø
ØØØØØôÑ€FˆE�7ô $;Ø
ØØØØØô$Ñ €Hˆg�yð �>‰>˜UÒ"Ð"Ð"Ø�=‰=˜EÒ!Ð!Ð!Ø�?‰?˜eÒ#Ð#Ð#ä 2°XÀDÔ IÑ€L�+ä˜f hÔ/Ü˜f lÔ3Ü˜e WÔ-Ü˜e [Ô1Ü˜g yÔ1ô 5Ø
ØØØØØôÑ€FˆE�7ô $;Ø
ØØØØØô$Ñ €Hˆg�yô ˜f hÔ/Ü˜e WÔ-Ü˜g yÔ1à�>‰>˜UÒ"Ð"Ð"Ø�=‰=˜EÒ!Ð!Ð!Ø�?‰?˜eÒ#Ð#Ñ#r\   c                 ó‚  — d} || «      j                  |«      } ||«      j                  |«      }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 ‚y )Nr   r%   rd   re   ri   )
r4   r/   rj   Úsizerk   r3   r   r5   r   r   rl   s                            rE   Ú+test_incr_mean_variance_axis_weighted_axis0r   á   sÓ  € ð@ €DÙ" 2Ó&×-Ñ-¨eÓ4€IÙ! !Ó$×+Ñ+¨EÓ2€Hä—‘œŸ™  Q›¨uÔ5€IÜ�}‰}˜YÓ'€HÜ�]‰]˜9¬B¯H©HÔ5€FÜ4Ø
ØØØØØôÑ€FˆE�7ô $;Ø
ØØØØØô$Ñ €Hˆg�yð �>‰>˜UÒ"Ð"Ð"Ø�=‰=˜EÒ!Ð!Ð!Ø�?‰?˜eÒ#Ð#Ð#ä 2°XÀDÔ IÑ€L�+ä˜f hÔ/Ü˜f lÔ3Ü˜e WÔ-Ü˜e [Ô1Ü˜g yÔ1ô 5Ø
ØØØØØôÑ€FˆE�7ô $;Ø
ØØØØØô$Ñ €Hˆg�yô ˜f hÔ/Ü˜e WÔ-Ü˜g yÔ1à�>‰>˜UÒ"Ð"Ð"Ø�=‰=˜EÒ!Ð!Ð!Ø�?‰?˜eÒ#Ð#Ñ#r\   c           
      ó¼  — dD �]²  }t         j                  j                  d«      }d}d}|dk(  r+t        |«      D �cg c]  }|j	                  dd|¬«      ‘Œ }}n*t        |«      D �cg c]  }|j	                  d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 «       t        j                  t        «      5  t        |||	|
|¬
«       d d d «       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 ]«  }|j/                  |«      }|	j/                  |«      }	|
j/                  |«      }
t        ||«      \  }}t        |||	|
|¬
«      \  }}}|j0                  |k(  sJ ‚|j0                  |k(  sJ ‚t!        ||«       t!        ||«       t#        |j$                  |   |«       Œ­ Œ¹ �Œµ y c c}w c c}w # 1 sw Y   �Œ`xY w# 1 sw Y   �Œ;xY w)N)r   r%   r   é2   rM   r$   )r~   rd   r%   )r9   r*   rf   rg   ©r*   rf   rg   rh   )r/   rP   r   ÚrangeÚrandintrj   rk   r3   ÚarrayÚ
atleast_2dÚTr,   r-   r.   r   r   r   r   rL   Úvstackr0   r1   r2   r4   r5   )r   r   r   r*   rX   Ú
n_featuresÚ	n_samplesÚiÚdata_chunksrf   rg   rh   r9   r;   r<   rC   rD   ÚX_means_incrÚX_vars_incrÚn_incrr=   r>   r?   r@   rB   s                            rE   Útest_incr_mean_variance_axisr�   B  sx  € ð ó M:ˆÜ�i‰i×#Ñ# AÓ&ˆØˆ
Øˆ	Ø�1Š9ÜGLÈYÓGWÖXÀ!˜3Ÿ;™; q¨!°*˜;Õ=ÐXˆKÑXäFKÈJÓFWÖXÀ˜3Ÿ;™; q¨!°)˜;Õ<ÐXˆKÐXð -1°AªI”B—H‘H˜ZÔ(¼2¿8¹8ÀIÓ;Nˆ	Ü—=‘= Ó+ˆÜ—‘˜y´·±Ô9ˆô �H‰H�[ ‘^Ó$ˆÜ�M‰M˜!ÓˆØ˜1’9ˆA�CŠC !ˆÙ˜aÓ ˆÙ˜eÓ$ˆä�]‰]œ9Ó%ñ 	Ü#Ø˜Y°(ÀVõ÷	ô �]‰]œ9Ó%ñ 	Ü#Ø˜D¨IÀÐQWõ÷	ô -¨U°DÓ9‰ˆ�Ü,CØ˜¨	¸HÈVô-
Ñ)ˆ�k 6ô 	" '¨<Ô8Ü! &¨+Ô6ä˜1Ÿ7™7 4™=¨&Ô1á˜eÓ$ˆÜ,¨U°DÓ9‰ˆ�Ü! '¨<Ô8Ü! &¨+Ô6Ü˜1Ÿ7™7 4™=¨&Ô1ô �I‰I�kÓ"ˆØ˜1’9ˆA�CŠC !ˆÙ˜aÓ ˆÙ˜eÓ$ˆÙ˜eÓ$ˆô �Z‰ZœŸ™Ð$Ü�Z‰ZœŸ™Ð$Ü�X‰X”r—z‘zÐ"Ü�X‰X”r—z‘zÐ"ð	
ˆð *9ò 	:Ñ%ˆK˜Ø" E˜Nò :�Ø#Ÿ?™?¨;Ó7�Ø%×,Ñ,¨\Ó:�	Ø#Ÿ?™?¨<Ó8�Ü"4°X¸tÓ"D‘�˜Ü4KØØØ'Ø%Ø!ô5Ñ1�˜k¨6ð $×)Ñ)¨\Ò9Ð9Ð9Ø"×(Ñ(¨LÒ8Ð8Ð8Ü)¨'°<Ô@Ü)¨&°+Ô>Ü" 1§7¡7¨4¡=°&Õ9ñ!:ò	:ñyM:ùò
 YùâX÷	ñ 	ú÷	ñ 	ús#   ¼N:Á'N?ÅOÆOÏO	ÏO	c                 ó<  — d\  }}t         j                  j                  d«      } | |j                  ||«      «      }t        j                  |«      }t        j
                  |«      }t        j                  |j                  t         j                  ¬«      }t        |||¬«      }t        |fddi|¤Ž\  }	}
}t        t        j                  |j                  «       d¬«      |	«       t        t        j                  |j                  «       d¬«      |
«       t        j                  t         «      5  t        |fddi|¤Ž d	d	d	«       t        |d	d
 ||¬«      }t        j                  t         «      5  t        |fddi|¤Ž d	d	d	«       y	# 1 sw Y   ŒKxY w# 1 sw Y   y	xY w)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   é*   rd   )rf   rg   rh   r*   r   r)   r%   Néÿÿÿÿ)r/   rP   r   rU   rj   rk   rL   r3   Údictr   r   r6   Útoarrayr7   r,   r-   Ú
ValueError)rI   rŠ   r‰   rX   r9   rf   rg   rh   ÚkwargsÚmean0Úvar0r:   s               rE   Ú)test_incr_mean_variance_axis_dim_mismatchr›   –  sL  € ð "Ñ€IˆzÜ
�)‰)×
Ñ
 Ó
#€CÙ˜3Ÿ8™8 I¨zÓ:Ó;€Aä—‘˜Ó$€IÜ�}‰}˜YÓ'€HÜ�X‰X�i—o‘o¬R¯X©XÔ6€Fä˜I°ÀÔH€FÜ,¨QÑA°QÐA¸&ÑA�N€Eˆ4�Ü”B—G‘G˜AŸI™I›K¨aÔ0°%Ô8Ü”B—F‘F˜1Ÿ9™9›;¨QÔ/°Ô6ô 
�‰”zÓ	"ñ 5Ü Ñ4¨Ð4¨VÒ4÷5ô ˜I c r˜N°XÀfÔM€FÜ	�‰”zÓ	"ñ 5Ü Ñ4¨Ð4¨VÒ4÷5ð 5÷5ð 5ú÷
5ð 5ús   Ä-FÅ.FÆFÆFzX1, X2r   çš™™™™™é?Úcsr©ÚdensityÚformatr!   é   )r¡   r%   )rK   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                  |
j                  «       |¬«      «       t        |t        j                  |
j                  «       |¬«      «       t        |	t        j                  t        j                  |
j                  «       «       d¬«      «       y )Nr   r%   rd   r‚   r)   )r/   rj   rL   r3   r   Úsprˆ   r   Únanmeanr–   Únanvarr   Úisnan)ÚX1ÚX2r   r*   rf   rg   rh   Úupdated_meanÚupdated_varÚ	updated_nr9   s              rE   Ú6test_incr_mean_variance_axis_equivalence_mean_variancer­   ³  s  € ñ2 
�rÓ	€BÙ	�rÓ	€BØ€DÜŸ(™( 2§8¡8¨A¡;Ó/´·±¸"¿(¹(À1¹+Ó1Fˆx€IÜ�X‰X�b—h‘h˜q‘k¬¯©Ô2€FÜ+BØ
� °XÀfô,Ñ(€L�+˜yô ,CØ
� ¸ÈIô,Ñ(€L�+˜yô 	�	‰	�2�r�(Ó€AÜ�L¤"§*¡*¨Q¯Y©Y«[¸tÔ"DÔEÜ�K¤§¡¨1¯9©9«;¸TÔ!BÔCÜ�Iœr×/Ñ/´·±¸!¿)¹)»+Ó1FÐ0FÈQÔOÕPr\   c                  ó(  — d} t        j                  dddd¬«      j                  «       }t        j                  dddd¬«      j                  «       }t        j                  |j
                  d   «      t        j                  |j
                  d   «      }}t        j                  |j
                  d   t        j                  ¬«      }t        || |||¬«      \  }}}t        || |||¬«      \  }}}t        ||«       t        ||«       t        ||«       y )Nr   r   r%   rœ   r¢   rd   r‚   )	r¤   rP   Útocsrr/   rj   rL   r3   r   r   )	r*   r¨   r©   rf   rg   rh   rª   r«   r¬   s	            rE   Ú test_incr_mean_variance_no_new_nr°   Ý  sã   € à€DÜ	�‰�1�a °1Ô	5×	;Ñ	;Ó	=€BÜ	�‰�1�a °1Ô	5×	;Ñ	;Ó	=€BÜŸ(™( 2§8¡8¨A¡;Ó/´·±¸"¿(¹(À1¹+Ó1Fˆx€IÜ�X‰X�b—h‘h˜q‘k¬¯©Ô2€FÜ"9Ø
� °XÀfô#Ñ€Iˆx˜ô ,CØ
� °XÀfô,Ñ(€L�+˜yô �L )Ô,Ü�K Ô*Ü�I˜vÕ&r\   c                  ó~  — d} t        j                  dddd¬«      j                  «       }t        j                  |j
                  d   «      t        j                  |j
                  d   «      }}d}t        || |||¬«      \  }}}t        |t        j                  |j
                  d   |j
                  d   «      «       y )Nr   r   r$   rœ   r¢   r%   r‚   )	r¤   rP   r¯   r/   rj   rL   r   r   rQ   )r*   r9   rf   rg   rh   r:   Únew_ns          rE   Útest_incr_mean_variance_n_floatr³   ð  s–   € à€DÜ
�	‰	�!�Q °!Ô4×:Ñ:Ó<€AÜŸ(™( 1§7¡7¨1¡:Ó.´·±¸¿¹À¹Ó0Dˆx€IØ€FÜ)Ø	� 	°HÀVô�K€A€qˆ%ô �Eœ2Ÿ7™7 1§7¡7¨1¡:¨q¯w©w°q©zÓ:Õ;r\   r*   c                 ó8  — 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        || |j                  «       |j                  «       |j                  «       ¬«      \  }}}	t        || |j                  «       |j                  «       |j                  «       ¬«      \  }
}}t        |
|«       t        ||«       t        ||	«       y )N)ç     ¸€@rµ   rµ   rµ   )ç     �°@r¶   r¶   r¶   )r$   r$   r$   r$   rd   )éª   r·   r·   r·   )é®  r¸   r¸   r¸   )é,  r¹   r¹   r¹   r·   r¸   r¹   r‚   )r/   r…   r3   rT   r‡   r   Úcopyr   )r*   rI   Ú	old_meansÚold_variancesÚold_sample_countr9   ÚX_nanrC   rD   ÚX_sample_countÚX_nan_meansÚ
X_nan_varsÚX_nan_sample_counts                rE   Ú'test_incr_mean_variance_axis_ignore_nanrÃ   ü  sd  € ô —‘Ò5Ó6€IÜ—H‘HÒ=Ó>€MÜ—x‘x¢´B·H±HÔ=ÐáÜ
�‰Ò&Ò(<Ò>RÐSÓTó	€Añ Ü
�‰à”b—f‘f˜c 3Ð'Ü—‘˜˜c 3Ð'Ø�cœ2Ÿ6™6 3Ð'Ø�c˜3¤§¡Ð'ð	ó	
ó	€Eñ Ø�C‰CˆØ—‘ˆô '>Ø	ØØ—.‘.Ó"Ø×#Ñ#Ó%Ø×$Ñ$Ó&ô'Ñ#€GˆV�^ô 3JØØØ—.‘.Ó"Ø×#Ñ#Ó%Ø×$Ñ$Ó&ô3Ñ/€K�Ð/ô �K Ô)Ü�J Ô'ÜÐ&¨Õ7r\   c                 ó*  — t        ddd¬«      \  }}d|d<   d|d<   d|d<    | |«      }t        j                  t        «      5  t	        |d¬	«       d d d «       t        j                  t        «      5  t	        |d
¬	«       d d d «       t        j                  t        «      5  t	        |d¬	«       d d d «       t        j                  t        «      5  t        |dd d d ¬«       d d d «       t        j                  t        «      5  t        |d
d d d ¬«       d d d «       t        j                  t        «      5  t        |dd d d ¬«       d d d «       y # 1 sw Y   ŒþxY w# 1 sw Y   ŒÛxY w# 1 sw Y   Œ¸xY w# 1 sw Y   Œ’xY w# 1 sw Y   ŒlxY w# 1 sw Y   y xY w)Nr   r   r   r    r"   r#   r&   éýÿÿÿr)   r$   r”   r‚   )r   r,   r-   r—   r   r   )r   r9   r:   r<   s       rE   Útest_mean_variance_illegal_axisrÆ   -  sa  € ä˜q !°!Ô4�D€A€qà€A€d�GØ€A€d�GØ€A€d�GÙ˜!Ó€EÜ	�‰”zÓ	"ñ +Ü˜5 rÕ*÷+ä	�‰”zÓ	"ñ *Ü˜5 qÕ)÷*ä	�‰”zÓ	"ñ +Ü˜5 rÕ*÷+ô 
�‰”zÓ	"ñ 
ÜØ˜ d°TÀ$õ	
÷
ô
 
�‰”zÓ	"ñ 
ÜØ˜ T°DÀõ	
÷
ô
 
�‰”zÓ	"ñ 
ÜØ˜ d°TÀ$õ	
÷
ð 
÷#+ð +ú÷*ð *ú÷+ð +ú÷
ð 
ú÷

ð 
ú÷

ð 
úsH   ÁEÁ1EÂ E%ÃE1ÄE=Ä3F	ÅEÅE"Å%E.Å1E:Å=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   j                  «       ||<   t        ||||«       t        ||«       ŒÚ y )N©r   r'   r   ©r$   r   r   rb   ©é	   é   é   ©r   r   r   rd   r`   é   r%   )r%   r'   r   )r/   r0   r1   r…   ÚintpÚonesrL   Ú	ones_liker–   r   r   )r   r5   r9   ÚX_rowsÚoutÚout_rowsÚexpects          rE   Útest_densify_rowsr×   L  s¿   € ä—*‘*œbŸj™jÐ)ò (ˆÙÚš	¢9ªiºÐCÈ5ô
ˆô —‘š)¬2¯7©7Ô3ˆÜ�g‰g�q˜!Ÿ'™' !™*�o¨UÔ3ˆÜ—8‘8šI¬R¯W©WÔ5ˆä—‘˜cÓ"ˆØ˜V¢Q˜Y™<×/Ñ/Ó1ˆˆxÑä˜˜6 8¨SÔ1Ü˜3 Õ'ñ(r\   c                  óÔ  — t         j                  j                  d«      } t        j                  ddd«      }|j                  «       }|j                  «       }|j                  «       }| j	                  d«      }||z  }t        ||«       t        ||«       t        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «       t        j                  t        «      5  t        |j                  «       |«       d d d «       |j                  t         j                  «      }|j                  t         j                  «      }|j                  «       }|j                  «       }|j                  «       }||z  }t        ||«       t        ||«       t        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «       t        j                  t        «      5  t        |j                  «       |«       d d d «       y # 1 sw Y   �Œ.xY w# 1 sw Y   y xY w)Nr   éd   éÈ   çš™™™™™©?)r/   rP   r   r¤   rU   r¯   Útocscr–   r   r   r,   r-   r.   Útolilr4   r0   ©rX   r9   ÚXrÚXcÚXAÚscales         rE   Útest_inplace_column_scalerã   ]  sª  € Ü
�)‰)×
Ñ
 Ó
"€CÜ
�‰��S˜$Ó€AØ	
�‰‹€BØ	
�‰‹€BØ	
�‰‹€BØ�H‰H�S‹M€EØˆ%�K€Bä˜˜UÔ#Ü˜˜UÔ#Ü˜bŸj™j›l¨B¯J©J«LÔ9Ü˜b "§*¡*£,Ô/Ü˜b "§*¡*£,Ô/Ü	�‰”yÓ	!ñ /Ü˜QŸW™W›Y¨Ô.÷/ð 	
�‰”—‘Ó€AØ�L‰LœŸ™Ó$€EØ	
�‰‹€BØ	
�‰‹€BØ	
�‰‹€BØˆ%�K€BÜ˜˜UÔ#Ü˜˜UÔ#Ü˜bŸj™j›l¨B¯J©J«LÔ9Ü˜b "§*¡*£,Ô/Ü˜b "§*¡*£,Ô/Ü	�‰”yÓ	!ñ /Ü˜QŸW™W›Y¨Ô.÷/ð /÷/ñ /ú÷/ð /ús   Ä
IÈ-IÉIÉI'c                  ó  — t         j                  j                  d«      } t        j                  ddd«      }|j                  «       }|j                  «       }|j                  «       }| j	                  d«      }||j                  dd«      z  }t        ||«       t        ||«       t        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «       t        j                  t        «      5  t        |j                  «       |«       d d d «       |j!                  t         j"                  «      }|j!                  t         j"                  «      }|j                  «       }|j                  «       }|j                  «       }||j                  dd«      z  }t        ||«       t        ||«       t        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «       t        j                  t        «      5  t        |j                  «       |«       d d d «       y # 1 sw Y   �Œ>xY w# 1 sw Y   y xY w)Nr   rÙ   rÚ   rÛ   r”   r%   )r/   rP   r   r¤   rU   r¯   rÜ   r–   Úreshaper   r   r,   r-   r.   r   rÝ   r4   r0   rÞ   s         rE   Útest_inplace_row_scaleræ   }  sÂ  € Ü
�)‰)×
Ñ
 Ó
"€CÜ
�‰��S˜$Ó€AØ	
�‰‹€BØ	
�‰‹€BØ	
�‰‹€BØ�H‰H�S‹M€EØˆ%�-‰-˜˜AÓ
Ñ€Bä�b˜%Ô Ü�b˜%Ô Ü˜bŸj™j›l¨B¯J©J«LÔ9Ü˜b "§*¡*£,Ô/Ü˜b "§*¡*£,Ô/Ü	�‰”yÓ	!ñ /Ü˜QŸW™W›Y¨Ô.÷/ð 	
�‰”—‘Ó€AØ�L‰LœŸ™Ó$€EØ	
�‰‹€BØ	
�‰‹€BØ	
�‰‹€BØˆ%�-‰-˜˜AÓ
Ñ€BÜ�b˜%Ô Ü�b˜%Ô Ü˜bŸj™j›l¨B¯J©J«LÔ9Ü˜b "§*¡*£,Ô/Ü˜b "§*¡*£,Ô/Ü	�‰”yÓ	!ñ /Ü˜QŸW™W›Y¨Ô.÷/ð /÷/ñ /ú÷/ð /ús   ÄI1ÉI>É1I;É>J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        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «        ||d
   |d   «      \  |d
<   |d<   t        |d
d«       t        |d
d«       t        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «       t        j                  t        «      5  t        |j                  «       «       d d d «       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        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «        ||d
   |d   «      \  |d
<   |d<   t        |d
d«       t        |d
d«       t        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «       t        j                  t        «      5  t        |j                  «       «       d d d «       y # 1 sw Y   �ŒÂxY w# 1 sw Y   y xY w)NrÈ   rÉ   rb   rÊ   rÎ   rd   ©Úswapr   r”   r$   r'   )r/   r…   r1   r   Úget_blas_funcsr   r   r–   r,   r-   r.   rÝ   r0   ©r   r   r9   r<   r=   ré   s         rE   Útest_inplace_swap_rowrì   �  sË  € ô 	�‰Ú	’Išyª)²YÐ?ÄrÇzÁzô	€Añ ˜!Ó€EÙ˜!Ó€Eä× Ñ  ¨Q¨DÓ1€DØ�‰7€DÙ�q˜‘t˜Q˜r™UÓ#�K€A€a�Dˆ!ˆB‰%Ü�U˜A˜rÔ"Ü�U˜A˜rÔ"Ü�u—}‘}“¨¯©«Ô8Ü�q˜%Ÿ-™-›/Ô*Ü�q˜%Ÿ-™-›/Ô*á�a˜‘d˜A˜a™DÓ!�J€A€a�Dˆ!ˆA‰$Ü�U˜A˜qÔ!Ü�U˜A˜qÔ!Ü�u—}‘}“¨¯©«Ô8Ü�q˜%Ÿ-™-›/Ô*Ü�q˜%Ÿ-™-›/Ô*Ü	�‰”yÓ	!ñ (Ü˜Ÿ™›Ô'÷(ô 	�‰Ú	’Išyª)²YÐ?ÄrÇzÁzô	€Añ ˜!Ó€EÙ˜!Ó€EÜ× Ñ  ¨Q¨DÓ1€DØ�‰7€DÙ�q˜‘t˜Q˜r™UÓ#�K€A€a�Dˆ!ˆB‰%Ü�U˜A˜rÔ"Ü�U˜A˜rÔ"Ü�u—}‘}“¨¯©«Ô8Ü�q˜%Ÿ-™-›/Ô*Ü�q˜%Ÿ-™-›/Ô*Ù�a˜‘d˜A˜a™DÓ!�J€A€a�Dˆ!ˆA‰$Ü�U˜A˜qÔ!Ü�U˜A˜qÔ!Ü�u—}‘}“¨¯©«Ô8Ü�q˜%Ÿ-™-›/Ô*Ü�q˜%Ÿ-™-›/Ô*Ü	�‰”yÓ	!ñ (Ü˜Ÿ™›Ô'÷(ð (÷-(ñ (ú÷,(ð (ús   ÆM0ÍM=Í0M:Í=Nc                 ó’  — 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        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «        ||d d …df   |d d …d
f   «      \  |d d …df<   |d d …d
f<   t        |dd
«       t        |dd
«       t        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «       t        j                  t        «      5  t        |j                  «       «       d d d «       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        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «        ||d d …df   |d d …d
f   «      \  |d d …df<   |d d …d
f<   t        |dd
«       t        |dd
«       t        |j                  «       |j                  «       «       t        ||j                  «       «       t        ||j                  «       «       t        j                  t        «      5  t        |j                  «       «       d d d «       y # 1 sw Y   �ŒâxY w# 1 sw Y   y xY w)NrÈ   rÉ   rb   rÊ   rÎ   rd   rè   r   r”   r%   )r/   r…   r1   r   rê   r   r   r–   r,   r-   r.   rÝ   r0   rë   s         rE   Útest_inplace_swap_columnrî   Ï  s  € ô 	�‰Ú	’Išyª)²YÐ?ÄrÇzÁzô	€Añ ˜!Ó€EÙ˜!Ó€Eä× Ñ  ¨Q¨DÓ1€DØ�‰7€DÙ˜Qšq !˜t™W aª¨2¨¡hÓ/Ñ€A‚aˆ€d�GˆQŠq�"ˆu‰XÜ˜˜q "Ô%Ü˜˜q "Ô%Ü�u—}‘}“¨¯©«Ô8Ü�q˜%Ÿ-™-›/Ô*Ü�q˜%Ÿ-™-›/Ô*á˜Aša ˜d™G Q¢q¨! t¡WÓ-Ñ€A‚aˆ€d�GˆQŠq�!ˆt‰WÜ˜˜q !Ô$Ü˜˜q !Ô$Ü�u—}‘}“¨¯©«Ô8Ü�q˜%Ÿ-™-›/Ô*Ü�q˜%Ÿ-™-›/Ô*Ü	�‰”yÓ	!ñ +Ü˜EŸK™K›MÔ*÷+ô 	�‰Ú	’Išyª)²YÐ?ÄrÇzÁzô	€Añ ˜!Ó€EÙ˜!Ó€EÜ× Ñ  ¨Q¨DÓ1€DØ�‰7€DÙ˜Qšq !˜t™W aª¨2¨¡hÓ/Ñ€A‚aˆ€d�GˆQŠq�"ˆu‰XÜ˜˜q "Ô%Ü˜˜q "Ô%Ü�u—}‘}“¨¯©«Ô8Ü�q˜%Ÿ-™-›/Ô*Ü�q˜%Ÿ-™-›/Ô*Ù˜Aša ˜d™G Q¢q¨! t¡WÓ-Ñ€A‚aˆ€d�GˆQŠq�!ˆt‰WÜ˜˜q !Ô$Ü˜˜q !Ô$Ü�u—}‘}“¨¯©«Ô8Ü�q˜%Ÿ-™-›/Ô*Ü�q˜%Ÿ-™-›/Ô*Ü	�‰”yÓ	!ñ +Ü˜EŸK™K›MÔ*÷+ð +÷-+ñ +ú÷,+ð +ús   Æ6N0ÎN=Î0N:Î=O)r   r%   NÚsparse_formatz.missing_values, min_func, max_func, ignore_nanFTÚlarge_indicesc                 óZ  — t        j                  g d¢dd|gg d¢d|dgg d¢g| ¬«      } ||«      }	|r@|	j                  j                  d	«      |	_        |	j                  j                  d	«      |	_        t        |	||¬
«      \  }
}t        |
 |||¬«      «       t        | |||¬«      «       y )NrÈ   r$   r”   rb   rË   rÍ   rÎ   rd   r3   )r*   Ú
ignore_nanr)   )r/   r…   Úindicesr4   Úindptrr   r   )r5   r*   rï   Úmissing_valuesÚmin_funcÚmax_funcrò   rð   r9   rB   Úmins_sparseÚmaxs_sparses               rE   Útest_min_maxrú     s¬   € ô$ 	�‰âØ��NÐ#ÚØ� Ð"Úð	
ð ô		€Añ ˜QÓ€HáØ#×+Ñ+×2Ñ2°7Ó;ˆÔØ"Ÿ/™/×0Ñ0°Ó9ˆŒä+¨H¸4ÈJÔWÑ€K�Ü�{¡H¨Q°TÔ$:Ô;Ü�{¡H¨Q°TÔ$:Õ;r\   c                 ó
  — t        j                  g d¢g d¢g d¢g d¢g d¢gt         j                  ¬«      } ||«      } | |«      }t        j                  t
        «      5  t        |j                  «       d¬«       d d d «       t        j                  t        «      5  t        |d	¬«       d d d «       t        j                  t        «      5  t        |d
¬«       d d d «       y # 1 sw Y   ŒhxY w# 1 sw Y   ŒExY w# 1 sw Y   y xY w)NrÈ   ©r$   r”   r   rb   rÊ   rÎ   rd   r   r)   r$   rÅ   )	r/   r…   r1   r,   r-   r.   r   rÝ   r—   )r   r   r9   r<   r=   s        rE   Útest_min_max_axis_errorsrý   (  sÈ   € ô 	�‰Ú	’J¢	ª9²iÐ@ÌÏ
É
ô	€Añ ˜!Ó€EÙ˜!Ó€EÜ	�‰”yÓ	!ñ ,Ü�U—[‘[“]¨Õ+÷,ä	�‰”zÓ	"ñ $Ü�U Õ#÷$ä	�‰”zÓ	"ñ %Ü�U Õ$÷%ð %÷	,ð ,ú÷$ð $ú÷%ð %ús$   ÁC!ÂC-Ã
C9Ã!C*Ã-C6Ã9Dc                 ó\  — t        j                  g d¢g d¢g d¢g d¢g d¢gt         j                  ¬«      } ||«      } | |«      }|dk7  }g d¢}|t        j                  |«      d d …d f   z  }d	D ]Q  }t        t	        ||¬
«      |j                  |¬
«      «       t        t	        |||¬«      |j                  |¬
«      «       ŒS t        j                  t        «      5  t	        |«       d d d «       t        j                  t        «      5  t	        |d¬
«       d d d «       t	        |d¬
«      j                  t	        |d¬
«      j                  k(  sJ ‚t	        |d|¬«      j                  t	        |d|¬«      j                  k(  sJ ‚	 |j                  j                  t         j                  «      |_        |j                  j                  t         j                  «      |_        t	        |d¬
«      j                  t	        |d¬
«      j                  k(  sJ ‚t	        |d|¬«      j                  t	        |d|¬«      j                  k(  sJ ‚y # 1 sw Y   �Œ_xY w# 1 sw Y   �Œ=xY w# t        $ rC}	d|	j                  d   v r!t        j                   «       j"                  dk  sJ |	«       ‚Y d }	~	y d }	~	ww xY w)NrÈ   rü   rb   rÊ   rÎ   rd   r   )ç      à?gš™™™™™É?g333333Ó?çš™™™™™¹?r   )r   r%   r”   éþÿÿÿNr)   )r*   rZ   r$   r%   zaccording to the rule 'safe'rÌ   )r/   r…   r1   r   r   Úsumr,   r-   r.   r—   r5   ró   r4   r3   rô   ÚargsrÐ   Únbytes)
r   r   r9   r<   r=   Ú	X_nonzerorZ   ÚX_nonzero_weightedr*   Úes
             rE   Útest_count_nonzeror  8  sN  € ô 	�‰Ú	’J¢	ª9²iÐ@ÌÏ
É
ô	€Añ ˜!Ó€EÙ˜!Ó€EØ�Q‘€IÚ-€MØ"¤R§X¡X¨mÓ%<ºQÀ¸WÑ%EÑEÐà$ò 
ˆÜ!Ü˜% dÔ+¨Y¯]©]À¨]Ó-Eô	
ô 	"Ü˜% d¸-ÔHØ×"Ñ"¨Ð"Ó-õ	
ð	
ô 
�‰”yÓ	!ñ Ü�eÔ÷ä	�‰”zÓ	"ñ %Ü�e !Õ$÷%ô ˜ QÔ'×-Ñ-´¸uÈ1Ô1M×1SÑ1SÒSÐSÐSä�e !°=ÔA×GÑGÜ˜ Q°mÔD×JÑJò	Kðð	Kð	WØŸ™×,Ñ,¬R¯X©XÓ6ˆŒØ—|‘|×*Ñ*¬2¯8©8Ó4ˆŒÜ˜U¨Ô+×1Ñ1´]À5ÈqÔ5Q×5WÑ5WÒWÐWÐWä˜% a°}ÔE×KÑKÜ˜U¨¸-ÔH×NÑNòOð	
ñO÷%ñ ú÷%ñ %ûô& ò WØ-°·±¸±Ñ:¼r¿w¹w»y×?OÑ?OÐRSÒ?SÐVÐUVÓVÐSÔ?SûðWús1   ÃIÄ	IÆC I ÉIÉIÉ	J+É(9J&Ê&J+c                 ó"  — t         j                  j                  d«      }|j                  dd«      }t        j                  |d¬«      } | |«      }t        |«      }t        ||«       |j                  dd«      }d||dk  <   |j                  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 «       y # 1 sw Y   y xY w)Nr   rÙ   r�   r)   é3   g        gffffffæ?rM   r  r”   r%   r$   rÿ   g      à¿éûÿÿÿrÅ   )r/   rP   r   rU   Úmedianr   r   r„   r…   r,   r-   r.   )r   r   rX   r9   Údense_medianÚcscÚsparse_medianÚinds           rE   Útest_csc_row_medianr  f  sz  € ô �)‰)×
Ñ
 Ó
"€CØ�‰��bÓ€AÜ—9‘9˜Q QÔ'€LÙ
˜Ó
€CÜ% cÓ*€MÜ�} lÔ3ð 	�‰��SÓ€AØ€A€aˆ#�g�JØ
�+‰+�a˜˜RÓ
 €CØ�‰fˆW€A€c�FÙ
˜Ó
€CÜ—9‘9˜Q QÔ'€LÜ% cÓ*€MÜ�} lÔ3ð ˆRˆ�2�r�(˜Q ˜F Q¨ FÐ+€AÙ
˜Ó
€CÜÔ(¨Ó-¬r¯x©x¸¸d¸Ó/DÔEØ
ˆRˆ�2�r�(˜Q ˜GÐ$€AÙ
˜Ó
€CÜÔ(¨Ó-¬r¯x©x¸¸b¸	Ó/BÔCô 
�‰”yÓ	!ñ ,Ü™-¨Ó*Ô+÷,÷ ,ñ ,ús   Å*FÆFÚinplace_csr_row_normalizec                 óX  — | t         j                  u rt        j                  d«      }nt        j                  d«      }t	        d«      }t        j
                  t        j                  fD �]>  }|j                  dd«      j                  |«      } | |«      }t        j                  t        j                  fD ]ï  }|t        j                  u r@|j                  j                  |«      |_        |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"                  |«      j%                  d¬«      |«       Œñ �ŒA y )N)rM   r%   rM   r   r$   r%   r)   )r¤   Ú
csr_matrixr/   rÑ   r   r1   r0   Úrandnr4   r2   r3   rô   ró   r5   r   Údatar   Úabsr  )r   r  rÑ   Úrsr5   r9   r<   Úindex_dtypes           rE   Útest_inplace_normalizer  Š  sO  € ð œŸ™Ñ%Ü�w‰w�wÓ‰ä�w‰w�r‹{ˆÜ	�R‹€Bä—*‘*œbŸj™jÐ)ó GˆØ�H‰H�R˜‹O×"Ñ" 5Ó)ˆÙ˜aÓ ˆÜŸH™H¤b§h¡hÐ/ò 	GˆKð œbŸh™hÑ&Ø$Ÿ|™|×2Ñ2°;Ó?�”Ø %§¡× 4Ñ 4°[Ó A�”Ø—=‘=×&Ñ&¨+Ò5Ð5Ð5Ø—<‘<×%Ñ%¨Ò4Ð4Ð4Ù% eÔ,Ø—;‘; %Ò'Ð'Ð'Ø(Ô,HÑHØ—
’
˜qÑ •
Ü%¤b§f¡f¨U£m×&7Ñ&7¸QÐ&7Ó&?ÀÕFò	GñGr\   c                 ó  — t        j                  ddd| d¬«      }t         j                  j                  |d¬«      dz  }t	        |«      }|j
                  | k(  sJ ‚| t        j                  k(  rd	nd
}t        |||¬«       y )NrÙ   rM   r�   r“   )r    r5   r!   r%   r)   r$   g�íµ ÷Æ°>gH¯¼šò×z>)Úrtol)	r¤   rP   r   Únormr   r5   r/   r0   r   )r5   r9   Úscipy_normsÚnormsr  s        rE   Útest_csr_row_normsr   ¨  so   € ô 	�	‰	�#�r %¨uÀ2ÔF€Aä—)‘)—.‘. ¨�.Ó+¨qÑ0€KÜ˜!Ó€Eà�;‰;˜%ÒÐÐØœBŸJ™JÒ&‰4¨D€DÜ�E˜;¨TÖ2r\   Úmodule)ÚscopeÚparamsc           	      óH  — | j                   }t        j                  j                  d«      } |t	        j                  dddd|¬«      «      }|j                  «       }t        j                  |j                  d¬«      «      j                  «       }t        ||«      }||z
  }||fS )	z?Returns equivalent tuple[sp.linalg.LinearOperator, np.ndarray].r“   iô  rÙ   r   r�   rž   r   r)   )
Úparamr/   rP   Údefault_rngr¤   r–   Úasarrayr6   Úravelr   )ÚrequestÚsparse_containerr!   rB   ÚX_denseÚmuÚX_sparse_centeredÚX_dense_centereds           rE   Úcentered_matricesr/  ¶  s•   € ð —}‘}Ðä—9‘9×(Ñ(¨Ó,€LáÜ
�	‰	�#�s C°ÀLÔQó€Hð ×ÑÓ €GÜ	�‰�H—M‘M q�MÓ)Ó	*×	0Ñ	0Ó	2€Bä/°¸"Ó=ÐØ ‘|ÐàÐ.Ð.Ð.r\   c                 óì   — |\  }}t         j                  j                  | «      }|j                  |j                  d   df«      }t        ||z  |j                  |«      «       t        ||z  ||z  «       y )Nr%   r�   )r/   rP   r&  Ústandard_normalrL   r   Úmatmat©Úglobal_random_seedr/  r-  r.  rX   ÚYs         rE   Útest_implicit_center_matmatr6  É  sv   € Ø*;Ñ'ÐÐ'Ü
�)‰)×
Ñ
Ð 2Ó
3€CØ×ÑÐ-×3Ñ3°AÑ6¸Ð;Ó<€AÜÐ$ qÑ(Ð*;×*BÑ*BÀ1Ó*EÔFÜÐ$ qÑ(Ð*;¸aÑ*?Õ@r\   c                 óè   — |\  }}t         j                  j                  | «      }|j                  |j                  d   «      }t        ||z  |j                  |«      «       t        ||z  ||z  «       y )Nr%   )r/   rP   r&  r1  rL   r   Úmatvec©r4  r/  r-  r.  rX   Úys         rE   Útest_implicit_center_matvecr;  Ñ  sq   € Ø*;Ñ'ÐÐ'Ü
�)‰)×
Ñ
Ð 2Ó
3€CØ×ÑÐ,×2Ñ2°1Ñ5Ó6€AÜÐ$ qÑ(Ð*;×*BÑ*BÀ1Ó*EÔFÜÐ$ qÑ(Ð*;¸aÑ*?Õ@r\   c                 ó(  — |\  }}t         j                  j                  | «      }|j                  |j                  d   df«      }t        |j                  |z  |j                  |«      «       t        |j                  |z  |j                  |z  «       y )Nr   r�   )r/   rP   r&  r1  rL   r   r‡   Úrmatmatr3  s         rE   Útest_implicit_center_rmatmatr>  Ù  sˆ   € Ø*;Ñ'ÐÐ'Ü
�)‰)×
Ñ
Ð 2Ó
3€CØ×ÑÐ-×3Ñ3°AÑ6¸Ð;Ó<€AÜÐ$×&Ñ&¨Ñ*Ð,=×,EÑ,EÀaÓ,HÔIÜÐ$×&Ñ&¨Ñ*Ð,=×,?Ñ,?À!Ñ,CÕDr\   c                 ó$  — |\  }}t         j                  j                  | «      }|j                  |j                  d   «      }t        |j                  |z  |j                  |«      «       t        |j                  |z  |j                  |z  «       y )Nr   )r/   rP   r&  r1  rL   r   r‡   Úrmatvecr9  s         rE   Útest_implit_center_rmatvecrA  á  sƒ   € Ø*;Ñ'ÐÐ'Ü
�)‰)×
Ñ
Ð 2Ó
3€CØ×ÑÐ,×2Ñ2°1Ñ5Ó6€AÜÐ$×&Ñ&¨Ñ*Ð,=×,EÑ,EÀaÓ,HÔIÜÐ$×&Ñ&¨Ñ*Ð,=×,?Ñ,?À!Ñ,CÕDr\   )OÚnumpyr/   r,   Úscipy.sparseÚsparser¤   Únumpy.randomr   Únumpy.testingr   r   Úscipyr   Úsklearn.datasetsr   Úsklearn.utils._testingr   Úsklearn.utils.fixesr	   r
   r   Úsklearn.utils.sparsefuncsr   r   r   r   r   r   r   r   r   r   Úsklearn.utils.sparsefuncs_fastr   r   r   r   ÚmarkÚparametrizerF   r0   r1   r[   r^   rT   r…   r|   r   r�   r›   rP   ÚhstackrQ   r­   r°   r³   rÃ   rÆ   r×   rã   ræ   rì   rî   ÚminÚmaxÚnanminÚnanmaxrú   rý   r  r  r  r   Úfixturer/  r6  r;  r>  rA  © r\   rE   ú<module>rV     s„	  ðÛ Û Ý Ý $ß GÝ å 0Ý 2ß NÑ N÷÷ ÷ ÷ó ð ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñFó :ó :ó :ðFðD ‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;Ø‡�×ÑÐ-¨~ÀÑ/NÓOñ%ó Pó <ð%ð$ ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñFó :ó :ó :ðFðD ‡�×ÑÚâ
’YÐ	¢)ªYÐ!7ºÐCÚ
’YÐ	¢,²Ð!=ºyÐIÚ
’YÐ	¢)ªYÐ!7¸Ð>à�—‘˜ˆ^˜a §¡¨¯©Ð0Ð1Ø�—‘˜ˆ^˜a §¡¨¯©Ð0Ð1Úð	
ð �ˆV�a˜Ÿ™�[ 1 a &¨1¨a¨&°2·6±6¸2¿6¹6Ð2BÀRÇVÁVÈQÀKÐPâØ�A�r—v‘v�ÚÚØ—‘˜Ÿ™ §¡Ð(Ø—‘˜Ÿ™ Ð#ðð �#ˆJð	
ò š	Ð"ÚšoÐ.ØˆB�H‰H’YÓð	
ð+óð< ‡�×ÑÐ-¨~ÀÑ/NÓOØ‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;ñA$ó <ó Pó=ð@A$ðH ‡�×ÑÚâ
’YÐ	¢)ªYÐ!7¸!¸Q¸Ð@Ú
’YÐ	¢)ªYº	Ð!BÀQÈÀFÐKÚ
’YÐ	¢)ªYÐ!7¸Ð>à�—‘˜ˆ^˜a §¡¨¯©Ð0Ð1Ø�—‘˜ˆ^˜a §¡¨¯©Ð0Ð1Ø�#ˆJð	
ð ��A�r—v‘v˜q !Ð$ q¨!¨R¯V©V°R·V±V¸R¿V¹VÀQÐ&GÐHà�A�q˜"Ÿ&™& ! QÐ'Ø�A�q˜"Ÿ&™& ! QÐ'Ø�A�r—v‘v˜rŸv™v r§v¡v¨qÐ1ðð
 �#ˆJð	
ò š	Ð"Úš	¢9ªiÐ8ØˆB�H‰H�a˜�VÓð	
ð%óð6 ‡�×ÑÐ-¨~ÀÑ/NÓOØ‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;ñA$ó <ó Pó7ð:A$ðH ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñN:ó :ó :ó :ðN:ðb ‡�×ÑÐ-¨~ÀÑ/NÓOñ5ó Pð5ð8 ‡�×ÑØð ˆB�I‰I�a˜ C°ÀAÔFØˆB�I‰I�b˜! S°ÀQÔGð	
ð
 ˆB�I‰I�a˜ C°ÀAÔFØˆB�I‰Ià�B—G‘G˜G°·±Ô7Ø�B—I‘I˜b !¨S¸rÔBðð ôð		
ðóð& ‡�×Ñ˜¨.Ó9ñQó :ó'ð(Qò,'ò&	<ð ‡�×Ñ˜ ! Q Ó(Ø‡�×ÑÐ-¨~ÀÑ/NÓOñ,8ó Pó )ð,8ð^ ‡�×Ñ˜¨.Ó9ñ
ó :ð
ð< ‡�×Ñ˜¨.Ó9ñ(ó :ð(ò /ò@/ð@ ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñ-(ó :ó :ð-(ð` ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñ-+ó :ó :ð-+ð` ‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;Ø‡�×Ñ˜¢Ó.Ø‡�×Ñ˜¨.¸>Ñ*IÓJØ‡�×ÑØ4Øˆ�‰�—‘˜Ð "§&¡&¨"¯)©)°R·Y±YÀÐ!EÐFóð ‡�×Ñ˜¨4°¨-Ó8ñ<ó 9ó	ó Kó /ó <ð<ð> ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñ%ó :ó :ð%ð ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñ)Wó :ó :ð)WðX ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñ,ó :ó :ð,ðD ‡�×ÑØØ!Ð#?Ð@óð ‡�×Ñ˜¨.Ó9ñGó :ó	ð
Gð2 ‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;ñ
3ó <ð
3ð €‡��h ~¸Ñ'FÔGñ/ó Hð/ò$AòAòEóEr\   