o
    ÒtBh½  ã                   @   sæ   d dl Zd dlmZmZ d dlmZ d dlZdd„ Zdd„ Z	dd	„ Z
d
d„ Zej deg d¢g d¢g d¢gƒd dfeg d¢g d¢g d¢gƒddfeg d¢g d¢g d¢gƒddfeg d¢g d¢g d¢gƒd dfg¡dd„ ƒZdd„ ZdS )é    N)Úassert_array_almost_equalÚassert_)Ú
csr_matrixc                 C   s>   || |f }|| |f }t || ¡ d ƒ tt|ƒtu ƒ d S )Nr   )r   Útoarrayr   Útyper   )ÚiÚslÚXÚXcsrÚnp_sliceÚ	csr_slice© r   úr/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/scipy/sparse/tests/test_csr.pyÚ_check_csr_rowslice   s   r   c                  C   sŠ   d} t j d¡ t j | | f¡}d||dk< t|ƒ}td d d ƒtd d dƒtdddƒtdddƒg}t| ƒD ]}|D ]	}t||||ƒ q8q4d S )Né
   r   çffffffæ?éÿÿÿÿé   éþÿÿÿé   )ÚnpÚrandomÚseedr   ÚsliceÚranger   )ÚNr	   r
   Úslicesr   r   r   r   r   Útest_csr_rowslice   s   



ýÿÿ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 ©Nr   r   r   r   )
r   r   r   r   r   Úgetrowr   r   r   r   )r   r	   r
   r   Úarr_rowÚcsr_rowr   r   r   Útest_csr_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Úcsr_colr   r   r   Útest_csr_getcol/   r#   r'   z"matrix_input, axis, expected_shape)r   r   r   r   )r   r   r   r   )r   r   é   r   )r   é   r   )r(   r   Úboth)r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r(   r   )r   é   c                 C   sä   | j jd d }|}|d }|dkr+| ||…d d …f j j}| ||…d d …f j j}n9|dkrH| d d …||…f j j}| d d …||…f j j}n|dkrd| ||…||…f j j}| ||…||…f j j}||ksjJ ‚||kspJ ‚d S )Nr   r   r*   )ÚAÚshape)Úmatrix_inputÚaxisÚexpected_shapeÚslice_1Úslice_2Úslice_3Úactual_shape_1Úactual_shape_2r   r   r   Útest_csr_empty_slices=   s   r6   c                  C   sä   t g d¢g d¢g d¢gƒ} g d¢}t |¡}g d¢g d¢g d¢g}t |¡}g d¢g d¢f}t |d ¡t |d ¡f}| |  ¡ }| |  ¡ }| | }	| | }
| | }| | }||k ¡ s`J ‚|	|
k ¡ shJ ‚||k ¡ spJ ‚d S )N)r   r   r   )r(   r)   r+   )é   é   é   )FTFr   r   )r   r   Úarrayr   Úall)ÚdataÚlist_indices1Úarray_indices1Úlist_indices2Úarray_indices2Úlist_indices3Úarray_indices3Úslice_list1Úslice_array1Úslice_list2Úslice_array2Úslice_list3Úslice_array3r   r   r   Útest_csr_bool_indexingb   s    

rI   )Únumpyr   Únumpy.testingr   r   Úscipy.sparser   Úpytestr   r   r"   r'   ÚmarkÚparametrizer6   rI   r   r   r   r   Ú<module>   sJ    þýþýþýþýôÿ
