Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/scipy/sparse/_arrays.py: 82%
61 statements
« prev ^ index » next coverage.py v7.3.2, created at 2023-12-12 06:31 +0000
« prev ^ index » next coverage.py v7.3.2, created at 2023-12-12 06:31 +0000
1from ._bsr import bsr_matrix
2from ._coo import coo_matrix
3from ._csc import csc_matrix
4from ._csr import csr_matrix
5from ._dia import dia_matrix
6from ._dok import dok_matrix
7from ._lil import lil_matrix
10class _sparray:
11 """This class provides a base class for all sparse arrays.
13 It cannot be instantiated. Most of the work is provided by subclasses.
14 """
15 _is_array = True
17 @property
18 def _bsr_container(self):
19 return bsr_array
21 @property
22 def _coo_container(self):
23 return coo_array
25 @property
26 def _csc_container(self):
27 return csc_array
29 @property
30 def _csr_container(self):
31 return csr_array
33 @property
34 def _dia_container(self):
35 return dia_array
37 @property
38 def _dok_container(self):
39 return dok_array
41 @property
42 def _lil_container(self):
43 return lil_array
45 # Restore elementwise multiplication
46 def __mul__(self, *args, **kwargs):
47 return self.multiply(*args, **kwargs)
49 def __rmul__(self, *args, **kwargs):
50 return self.multiply(*args, **kwargs)
52 # Restore elementwise power
53 def __pow__(self, *args, **kwargs):
54 return self.power(*args, **kwargs)
57def _matrix_doc_to_array(docstr):
58 # For opimized builds with stripped docstrings
59 if docstr is None:
60 return None
61 return docstr.replace('matrix', 'array').replace('matrices', 'arrays')
64class bsr_array(_sparray, bsr_matrix):
65 pass
68class coo_array(_sparray, coo_matrix):
69 pass
72class csc_array(_sparray, csc_matrix):
73 pass
76class csr_array(_sparray, csr_matrix):
77 pass
80class dia_array(_sparray, dia_matrix):
81 pass
84class dok_array(_sparray, dok_matrix):
85 pass
88class lil_array(_sparray, lil_matrix):
89 pass
92bsr_array.__doc__ = _matrix_doc_to_array(bsr_matrix.__doc__)
93coo_array.__doc__ = _matrix_doc_to_array(coo_matrix.__doc__)
94csc_array.__doc__ = _matrix_doc_to_array(csc_matrix.__doc__)
95csr_array.__doc__ = _matrix_doc_to_array(csr_matrix.__doc__)
96dia_array.__doc__ = _matrix_doc_to_array(dia_matrix.__doc__)
97dok_array.__doc__ = _matrix_doc_to_array(dok_matrix.__doc__)
98lil_array.__doc__ = _matrix_doc_to_array(lil_matrix.__doc__)