o
    ×?HhŽ  ã                   @   sì   d dl Zd dlmZmZ d dlmZmZmZ d dl	Z	dd„ Z
dd„ Ze	j ded	d gd d gd d
ggƒd dfed	d gd d gd d
ggƒd	dfed	d gd d gd d
ggƒddfeg d¢g d¢g d¢gƒd dfg¡dd„ ƒZe	j dd¡dd„ ƒZdS )é    N)Úassert_array_almost_equalÚassert_)Ú
csr_matrixÚ
csc_matrixÚ
lil_matrixc                  C   s†   d} t j d¡ t j | | f¡}d||dk< t|ƒ}t| ƒD ]"}|||d …d d …f }| |¡}t|| ¡ ƒ tt	|ƒt
u ƒ qd S ©Né
   r   gffffffæ?é   )ÚnpÚrandomÚseedr   ÚrangeÚgetrowr   Útoarrayr   Útyper   )ÚNÚXÚXcscÚiÚarr_rowÚcsc_row© r   ú[/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/scipy/sparse/tests/test_csc.pyÚtest_csc_getrow   ó   
ûr   c                  C   s†   d} t j d¡ t j | | f¡}d||dk< t|ƒ}t| ƒD ]"}|d d …||d …f }| |¡}t|| ¡ ƒ tt	|ƒtu ƒ qd S r   )
r
   r   r   r   r   Úgetcolr   r   r   r   )r   r   r   r   Úarr_colÚcsc_colr   r   r   Útest_csc_getcol   r   r   z"matrix_input, axis, expected_shaper	   é   )r   r   )é   r   Úboth)r   r   )r   r	   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r    r   r	   )r   é   c                 C   sò   |   ¡ jd d }|}|d }|dkr.| ||…d d …f   ¡ j}| ||…d d …f   ¡ j}n=|dkrM| d d …||…f   ¡ j}| d d …||…f   ¡ j}n|dkrk| ||…||…f   ¡ j}| ||…||…f   ¡ j}||ksqJ ‚||kswJ ‚d S )Nr   r	   r!   )r   Úshape)Úmatrix_inputÚaxisÚexpected_shapeÚslice_1Úslice_2Úslice_3Úactual_shape_1Úactual_shape_2r   r   r   Útest_csc_empty_slices%   s   r,   Úax)éþÿÿÿéÿÿÿÿr   r	   Nc                 C   s˜   d}t |ƒ}d|d< d|d< t|ƒ}|j| d}| d u r)||d  }||d  }nt |¡|jks3J ‚t |¡t |¡}}|||f |d ksJJ ‚d S )N)é † r0   é*   )r.   r.   góŽSt$—¿?)éýÿÿÿr2   )r%   r   )r   r   Úargmaxr
   Úcount_nonzeroÚnnzÚmax)r-   ÚdimÚAÚidxÚiiÚjjr   r   r   Útest_argmax_overflowJ   s   r<   )Únumpyr
   Únumpy.testingr   r   Úscipy.sparser   r   r   Úpytestr   r   ÚmarkÚparametrizer,   r<   r   r   r   r   Ú<module>   sH    þýþýþýþýôÿ
