U
    ?hV                     @   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d d	d d d d gd d d d d d gd d d
dd d	g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 d f }||}t||  tt	|t
k q<d S N
   r   gffffff?   )nprandomseedr   rangeZgetrowr   toarrayr   typer   )NXXcsciZarr_rowZcsc_row r   M/var/www/html/venv/lib/python3.8/site-packages/scipy/sparse/tests/test_csc.pytest_csc_getrow   s    
r   c                  C   s   d} t jd t j| | f}d||dk< t|}t| D ]D}|d d ||d f }||}t||  tt	|tk q<d S r   )
r
   r   r   r   r   Zgetcolr   r   r   r   )r   r   r   r   Zarr_colZcsc_colr   r   r   test_csc_getcol   s    
r   z"matrix_input, axis, expected_shaper	      )r   r   )   r   both)r   r   r   )r      c                 C   s   | j jd d }|}|d }|dkrV| ||d d f j j}| ||d d f j j}nr|dkr| d d ||f j j}| d d ||f j j}n8|dkr| ||||f j j}| ||||f j j}||kst||kstd S )Nr   r	   r   )AshapeAssertionError)Zmatrix_inputaxisZexpected_shapeZslice_1Zslice_2Zslice_3Zactual_shape_1Z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 krR||d  }||d  }n*t||jksftt|t| }}|||f |d kstd S )N)順 r$   *   )r"   r"   gSt$?)r&   )r   r   )r   r   Zargmaxr
   Zcount_nonzeroZnnzr   max)r!   dimr   idxiiZjjr   r   r   test_argmax_overflowJ   s    r+   )numpyr
   Znumpy.testingr   r   Zscipy.sparser   r   r   Zpytestr   r   markZparametrizer    r+   r   r   r   r   <module>   sN       
