U
    Gvf”  ã                   @   s@  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ G dd	„ d	ƒZd
d„ ZG dd„ deeƒZG dd„ deeƒZG dd„ deeƒZG dd„ deeƒZG dd„ dee	ƒZG dd„ deeƒZG dd„ deeƒZeejƒe_eejƒe_eejƒe_eejƒe_ee	jƒe_eejƒe_eejƒe_dS )é   )Ú
bsr_matrix)Ú
coo_matrix)Ú
csc_matrix)Ú
csr_matrix)Ú
dia_matrix)Ú
dok_matrix)Ú
lil_matrixc                   @   s€   e Zd ZdZdZedd„ ƒZedd„ ƒZedd„ ƒZed	d
„ ƒZ	edd„ ƒZ
edd„ ƒZedd„ ƒZdd„ Zdd„ Zdd„ ZdS )Ú_sparrayz‰This class provides a base class for all sparse arrays.

    It cannot be instantiated.  Most of the work is provided by subclasses.
    Tc                 C   s   t S ©N)Ú	bsr_array©Úself© r   ú8/tmp/pip-unpacked-wheel-96ln3f52/scipy/sparse/_arrays.pyÚ_bsr_container   s    z_sparray._bsr_containerc                 C   s   t S r
   )Ú	coo_arrayr   r   r   r   Ú_coo_container   s    z_sparray._coo_containerc                 C   s   t S r
   )Ú	csc_arrayr   r   r   r   Ú_csc_container   s    z_sparray._csc_containerc                 C   s   t S r
   )Ú	csr_arrayr   r   r   r   Ú_csr_container   s    z_sparray._csr_containerc                 C   s   t S r
   )Ú	dia_arrayr   r   r   r   Ú_dia_container!   s    z_sparray._dia_containerc                 C   s   t S r
   )Ú	dok_arrayr   r   r   r   Ú_dok_container%   s    z_sparray._dok_containerc                 C   s   t S r
   )Ú	lil_arrayr   r   r   r   Ú_lil_container)   s    z_sparray._lil_containerc                 O   s   | j ||ŽS r
   ©Úmultiply©r   ÚargsÚkwargsr   r   r   Ú__mul__.   s    z_sparray.__mul__c                 O   s   | j ||ŽS r
   r   r   r   r   r   Ú__rmul__1   s    z_sparray.__rmul__c                 O   s   | j ||ŽS r
   )Úpowerr   r   r   r   Ú__pow__5   s    z_sparray.__pow__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z	_is_arrayÚpropertyr   r   r   r   r   r   r   r"   r#   r%   r   r   r   r   r	   
   s&   






r	   c                 C   s    | d krd S |   dd¡  dd¡S )NZmatrixÚarrayZmatricesZarrays)Úreplace)Zdocstrr   r   r   Ú_matrix_doc_to_array9   s    r-   c                   @   s   e Zd ZdS )r   N©r&   r'   r(   r   r   r   r   r   @   s   r   c                   @   s   e Zd ZdS )r   Nr.   r   r   r   r   r   D   s   r   c                   @   s   e Zd ZdS )r   Nr.   r   r   r   r   r   H   s   r   c                   @   s   e Zd ZdS )r   Nr.   r   r   r   r   r   L   s   r   c                   @   s   e Zd ZdS )r   Nr.   r   r   r   r   r   P   s   r   c                   @   s   e Zd ZdS )r   Nr.   r   r   r   r   r   T   s   r   c                   @   s   e Zd ZdS )r   Nr.   r   r   r   r   r   X   s   r   N)Z_bsrr   Z_coor   Z_cscr   Z_csrr   Z_diar   Z_dokr   Z_lilr   r	   r-   r   r   r   r   r   r   r   r)   r   r   r   r   Ú<module>   s,   /