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

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 

8 

9 

10class _sparray: 

11 """This class provides a base class for all sparse arrays. 

12 

13 It cannot be instantiated. Most of the work is provided by subclasses. 

14 """ 

15 _is_array = True 

16 

17 @property 

18 def _bsr_container(self): 

19 return bsr_array 

20 

21 @property 

22 def _coo_container(self): 

23 return coo_array 

24 

25 @property 

26 def _csc_container(self): 

27 return csc_array 

28 

29 @property 

30 def _csr_container(self): 

31 return csr_array 

32 

33 @property 

34 def _dia_container(self): 

35 return dia_array 

36 

37 @property 

38 def _dok_container(self): 

39 return dok_array 

40 

41 @property 

42 def _lil_container(self): 

43 return lil_array 

44 

45 # Restore elementwise multiplication 

46 def __mul__(self, *args, **kwargs): 

47 return self.multiply(*args, **kwargs) 

48 

49 def __rmul__(self, *args, **kwargs): 

50 return self.multiply(*args, **kwargs) 

51 

52 # Restore elementwise power 

53 def __pow__(self, *args, **kwargs): 

54 return self.power(*args, **kwargs) 

55 

56 

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') 

62 

63 

64class bsr_array(_sparray, bsr_matrix): 

65 pass 

66 

67 

68class coo_array(_sparray, coo_matrix): 

69 pass 

70 

71 

72class csc_array(_sparray, csc_matrix): 

73 pass 

74 

75 

76class csr_array(_sparray, csr_matrix): 

77 pass 

78 

79 

80class dia_array(_sparray, dia_matrix): 

81 pass 

82 

83 

84class dok_array(_sparray, dok_matrix): 

85 pass 

86 

87 

88class lil_array(_sparray, lil_matrix): 

89 pass 

90 

91 

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__)