|
| 1 | +# NOTE: The scipy source is generated in `scipy/sparse/_generate_sparsetools.py` |
| 2 | + |
| 3 | +# Type codes used: |
| 4 | +# |
| 5 | +# - i: integer scalar |
| 6 | +# - I: integer array |
| 7 | +# - T: data array |
| 8 | +# - V: std::vector<integer>* |
| 9 | +# - W: std::vector<data>* |
| 10 | +# - *: indicates that the next argument is an output argument |
| 11 | +# - v: void |
| 12 | +# - l: 64-bit integer scalar |
| 13 | +# |
| 14 | +# See `scipy/sparse/sparsetools/sparsetools.cxx` for more details. |
| 15 | + |
| 16 | +from collections.abc import Sequence |
| 17 | +from typing import Never, TypeAlias |
| 18 | + |
| 19 | +import numpy as np |
| 20 | +import optype.numpy as onp |
| 21 | +import optype.numpy.compat as npc |
| 22 | + |
| 23 | +_i: TypeAlias = int | np.int32 | np.int64 # noqa: PYI042 |
| 24 | +_l: TypeAlias = int | np.int64 # noqa: PYI042 |
| 25 | +_I: TypeAlias = onp.ArrayND[np.int32 | np.int64] |
| 26 | +_T: TypeAlias = onp.ArrayND[npc.number | np.bool_] |
| 27 | +_V: TypeAlias = Sequence[_i] |
| 28 | +_W: TypeAlias = Sequence[complex | npc.number | np.bool_] |
| 29 | + |
| 30 | +### |
| 31 | + |
| 32 | +# bsr.h |
| 33 | +def bsr_diagonal(a0: _i, a1: _i, a2: _i, a3: _i, a4: _i, a5: _I, a6: _I, a7: _T, a8: _T, /) -> None: ... # v iiiiiIIT*T |
| 34 | +def bsr_tocsr(a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, /) -> None: ... # v iiiiIIT*I*I*T |
| 35 | +def bsr_scale_columns(a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _T, /) -> None: ... # v iiiiII*TT |
| 36 | +def bsr_scale_rows(a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _T, /) -> None: ... # v iiiiII*TT |
| 37 | +def bsr_sort_indices(a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, /) -> None: ... # v iiii*I*I*T |
| 38 | +def bsr_transpose( |
| 39 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, / |
| 40 | +) -> None: ... # v iiiiIIT*I*I*T |
| 41 | +def bsr_matmat( |
| 42 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _i, a5: _i, a6: _I, a7: _I, a8: _T, a9: _I, a10: _I, a11: _T, a12: _I, a13: _I, a14: _T, / |
| 43 | +) -> None: ... # v iiiiiiIITIIT*I*I*T |
| 44 | +def bsr_matvec(a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _T, a8: _T, /) -> None: ... # v iiiiIITT*T |
| 45 | +def bsr_matvecs(a0: _i, a1: _i, a2: _i, a3: _i, a4: _i, a5: _I, a6: _I, a7: _T, a8: _T, a9: _T, /) -> None: ... # v iiiiiIITT*T |
| 46 | +def bsr_elmul_bsr( |
| 47 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 48 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 49 | +def bsr_eldiv_bsr( |
| 50 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 51 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 52 | +def bsr_plus_bsr( |
| 53 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 54 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 55 | +def bsr_minus_bsr( |
| 56 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 57 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 58 | +def bsr_maximum_bsr( |
| 59 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 60 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 61 | +def bsr_minimum_bsr( |
| 62 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 63 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 64 | +def bsr_ne_bsr( |
| 65 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 66 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 67 | +def bsr_lt_bsr( |
| 68 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 69 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 70 | +def bsr_gt_bsr( |
| 71 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 72 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 73 | +def bsr_le_bsr( |
| 74 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 75 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 76 | +def bsr_ge_bsr( |
| 77 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, a10: _I, a11: _I, a12: _T, / |
| 78 | +) -> None: ... # v iiiiIITIIT*I*I*T |
| 79 | + |
| 80 | +# csc.h |
| 81 | +def csc_matvec(a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _T, a6: _T, /) -> None: ... # v iiIITT*T |
| 82 | +def csc_matvecs(a0: _i, a1: _i, a2: _i, a3: _I, a4: _I, a5: _T, a6: _T, a7: _T, /) -> None: ... # v iiiIITT*T |
| 83 | + |
| 84 | +# csr.h |
| 85 | +def csr_matmat_maxnnz(a0: _i, a1: _i, a2: _I, a3: _I, a4: _I, a5: _I, /) -> np.int64: ... # l iiIIII |
| 86 | +def csr_matmat( |
| 87 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 88 | +) -> None: ... # v iiIITIIT*I*I*T |
| 89 | +def csr_diagonal(a0: _i, a1: _i, a2: _i, a3: _I, a4: _I, a5: _T, a6: _T, /) -> None: ... # v iiiIIT*T |
| 90 | +def csr_tocsc(a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, /) -> None: ... # v iiIIT*I*I*T |
| 91 | +def csr_tobsr(a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, a6: _T, a7: _I, a8: _I, a9: _T, /) -> None: ... # v iiiiIIT*I*I*T |
| 92 | +def csr_todense(a0: _i, a1: _i, a2: _I, a3: _I, a4: _I, a5: _T, /) -> None: ... # v iiIIT*T |
| 93 | +def csr_matvec(a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _T, a6: _T, /) -> None: ... # v iiIITT*T |
| 94 | +def csr_matvecs(a0: _i, a1: _i, a2: _i, a3: _I, a4: _I, a5: _T, a6: _T, a7: _T, /) -> None: ... # v iiiIITT*T |
| 95 | +def csr_elmul_csr( |
| 96 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 97 | +) -> None: ... # v iiIITIIT*I*I*T |
| 98 | +def csr_eldiv_csr( |
| 99 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 100 | +) -> None: ... # v iiIITIIT*I*I*T |
| 101 | +def csr_plus_csr( |
| 102 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 103 | +) -> None: ... # v iiIITIIT*I*I*T |
| 104 | +def csr_minus_csr( |
| 105 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 106 | +) -> None: ... # v iiIITIIT*I*I*T |
| 107 | +def csr_maximum_csr( |
| 108 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 109 | +) -> None: ... # v iiIITIIT*I*I*T |
| 110 | +def csr_minimum_csr( |
| 111 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 112 | +) -> None: ... # v iiIITIIT*I*I*T |
| 113 | +def csr_ne_csr( |
| 114 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 115 | +) -> None: ... # v iiIITIIT*I*I*T |
| 116 | +def csr_lt_csr( |
| 117 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 118 | +) -> None: ... # v iiIITIIT*I*I*T |
| 119 | +def csr_gt_csr( |
| 120 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 121 | +) -> None: ... # v iiIITIIT*I*I*T |
| 122 | +def csr_le_csr( |
| 123 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 124 | +) -> None: ... # v iiIITIIT*I*I*T |
| 125 | +def csr_ge_csr( |
| 126 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _I, a6: _I, a7: _T, a8: _I, a9: _I, a10: _T, / |
| 127 | +) -> None: ... # v iiIITIIT*I*I*T |
| 128 | +def csr_scale_rows(a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _T, /) -> None: ... # v iiII*TT |
| 129 | +def csr_scale_columns(a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _T, /) -> None: ... # v iiII*TT |
| 130 | +def csr_sort_indices(a0: _i, a1: _I, a2: _I, a3: _T, /) -> None: ... # v iI*I*T |
| 131 | +def csr_eliminate_zeros(a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, /) -> None: ... # v ii*I*I*T |
| 132 | +def csr_sum_duplicates(a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, /) -> None: ... # v ii*I*I*T |
| 133 | +def get_csr_submatrix( |
| 134 | + a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _i, a6: _i, a7: _i, a8: _i, a9: _V, a10: _V, a11: _W, / |
| 135 | +) -> None: ... # v iiIITiiii*V*V*W |
| 136 | +def csr_row_index(a0: _i, a1: _I, a2: _I, a3: _I, a4: _T, a5: _I, a6: _T, /) -> None: ... # v iIIIT*I*T |
| 137 | +def csr_row_slice(a0: _i, a1: _i, a2: _i, a3: _I, a4: _I, a5: _T, a6: _I, a7: _T, /) -> None: ... # v iiiIIT*I*T |
| 138 | +def csr_column_index1(a0: _i, a1: _i, a2: _i, a3: _I, a4: _I, a5: _T, a6: _I, a7: _T, /) -> None: ... # v iiiIIT*I*T |
| 139 | +def csr_column_index2(a0: _I, a1: _I, a2: _i, a3: _I, a4: _T, a5: _I, a6: _T, /) -> None: ... # v IIiIT*I*T |
| 140 | +def csr_sample_values(a0: _i, a1: _i, a2: _I, a3: _I, a4: _T, a5: _i, a6: _I, a7: _I, a8: _T, /) -> None: ... # v iiIITiII*T |
| 141 | +def csr_count_blocks(a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _I, /) -> int: ... # i iiiiII |
| 142 | +def csr_sample_offsets(a0: _i, a1: _i, a2: _I, a3: _I, a4: _i, a5: _I, a6: _I, a7: _I, /) -> int: ... # i iiIIiII*I |
| 143 | +def csr_hstack(a0: _i, a1: _i, a2: _I, a3: _I, a4: _I, a5: _T, a6: _I, a7: _I, a8: _T, /) -> None: ... # v iiIIIT*I*I*T |
| 144 | +def csr_has_sorted_indices(a0: _i, a1: _I, a2: _I, /) -> int: ... # i iII |
| 145 | +def csr_has_canonical_format(a0: _i, a1: _I, a2: _I, /) -> int: ... # i iII |
| 146 | +def expandptr(a0: _i, a1: _I, a2: _I, /) -> None: ... # v iI*I |
| 147 | +def test_throw_error() -> Never: ... # i # raises `MemoryError` if called |
| 148 | + |
| 149 | +# coo.h |
| 150 | +def coo_tocsr(a0: _i, a1: _i, a2: _i, a3: _I, a4: _I, a5: _T, a6: _I, a7: _I, a8: _T, /) -> None: ... # v iiiIIT*I*I*T |
| 151 | +def coo_todense(a0: _i, a1: _i, a2: _l, a3: _I, a4: _I, a5: _T, a6: _T, a7: _i, /) -> None: ... # v iilIIT*Ti |
| 152 | +def coo_todense_nd(a0: _I, a1: _l, a2: _l, a3: _I, a4: _T, a5: _T, a6: _i, /) -> None: ... # v IllIT*Ti |
| 153 | +def coo_matvec(a0: _l, a1: _I, a2: _I, a3: _T, a4: _T, a5: _T, /) -> None: ... # v lIITT*T |
| 154 | +def coo_matvec_nd(a0: _l, a1: _l, a2: _I, a3: _I, a4: _T, a5: _T, a6: _T, /) -> None: ... # v llIITT*T |
| 155 | +def coo_matmat_dense(a0: _l, a1: _l, a2: _I, a3: _I, a4: _T, a5: _T, a6: _T, /) -> None: ... # v llIITT*T |
| 156 | +def coo_matmat_dense_nd(a0: _l, a1: _l, a2: _l, a3: _I, a4: _I, a5: _I, a6: _T, a7: _T, a8: _T, /) -> None: ... # v lllIIITT*T |
| 157 | + |
| 158 | +# dia.h |
| 159 | +def dia_matmat( |
| 160 | + a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _T, a6: _i, a7: _i, a8: _i, a9: _I, a10: _T, a11: _V, a12: _W, / |
| 161 | +) -> None: ... # v iiiiITiiiIT*V*W |
| 162 | +def dia_matvec(a0: _i, a1: _i, a2: _i, a3: _i, a4: _T, a5: _T, a6: _T, a7: _T, /) -> None: ... # v iiiiITT*T |
| 163 | +def dia_matvecs(a0: _i, a1: _i, a2: _i, a3: _i, a4: _I, a5: _T, a6: _i, a7: _T, a8: _T, /) -> None: ... # v iiiiITiT*T |
| 164 | + |
| 165 | +# csgraph.h |
| 166 | +def cs_graph_components(a0: _i, a1: _I, a2: _I, a3: _I, /) -> int: ... # i iII*I |
0 commit comments