B
    0dV                 @   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|}xPt| D ]D}|||d d d f }||}t||  tt	|t
k q>W 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.7/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|}xPt| D ]D}|d d ||d f }||}t||  tt	|tk q>W d S )Nr   r   gffffff?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)i i *   )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>   s.   


