1#![warn(missing_docs)]
71#![warn(clippy::all)]
72#![allow(clippy::module_name_repetitions)]
73#![allow(clippy::clone_on_copy)]
75#![allow(clippy::assign_op_pattern)]
77#![allow(clippy::type_complexity)]
79#![allow(clippy::needless_range_loop)]
81#![allow(clippy::too_many_arguments)]
83#![allow(clippy::neg_cmp_op_on_partial_ord)]
85#![allow(clippy::multiple_bound_locations)]
87#![allow(clippy::manual_memcpy)]
89#![allow(clippy::ptr_arg)]
91#![allow(clippy::never_loop)]
93#![allow(clippy::collapsible_if)]
94#![allow(clippy::iter_cloned_collect)]
95#![allow(clippy::only_used_in_recursion)]
96#![allow(clippy::manual_strip)]
97#![allow(clippy::doc_overindented_list_items)]
98#![allow(clippy::unnecessary_unwrap)]
99
100pub mod bsc;
101pub mod bsr;
102pub mod convert;
103pub mod coo;
104pub mod csc;
105pub mod csr;
106pub mod dia;
107pub mod ell;
108pub mod graph;
109pub mod hyb;
110pub mod linalg;
111pub mod mtx;
112pub mod ops;
113pub mod sell;
114pub mod stochastic;
115pub mod test_matrices;
116
117pub use bsc::{BscError, BscMatrix};
118pub use bsr::{BsrError, BsrMatrix, DenseBlock};
119pub use convert::{
120 RecommendedFormat,
121 SparsityAnalysis,
122 analyze_sparsity_pattern,
124 bsc_to_bsr,
126 bsc_to_csr,
127 bsr_to_bsc,
128 bsr_to_csr,
130 bsr_to_dia,
131 bsr_to_ell,
132 coo_to_csc,
133 coo_to_csr,
134 csc_to_coo,
135 csc_to_csr,
136 csr_to_bsc,
137 csr_to_bsr,
138 csr_to_coo,
139 csr_to_csc,
140 csr_to_dia,
141 csr_to_ell,
142 csr_to_hyb,
143 csr_to_sell,
144 dia_to_bsr,
145 dia_to_csr,
146 dia_to_ell,
147 ell_to_bsr,
148 ell_to_csr,
149 ell_to_dia,
150 ell_to_hyb,
151 hyb_to_csr,
152 hyb_to_ell,
153 sell_to_csr,
154};
155pub use coo::{CooMatrix, CooMatrixBuilder};
156pub use csc::CscMatrix;
157pub use csr::CsrMatrix;
158pub use dia::{DiaError, DiaMatrix};
159pub use ell::{EllError, EllMatrix};
160pub use graph::{
161 BandwidthProfileResult, BipartiteMatchingResult, BipartiteResult, ConnectedComponentsResult,
162 LevelSetResult, PartitionResult, WeightedMatchingResult, bandwidth_profile,
163 bandwidth_profile_csc, bipartite_matching, connected_components, connected_components_csc,
164 degree_sequence, is_bipartite, is_structurally_symmetric, level_sets, partition_graph_bisect,
165 partition_graph_kway, pseudo_peripheral_vertex, weighted_bipartite_matching,
166};
167pub use hyb::{HybError, HybMatrix, HybStats, HybWidthStrategy};
168pub use mtx::{
169 MtxError, MtxField, MtxFormat, MtxHeader, MtxObject, MtxSymmetry, read_matrix_market,
170 read_matrix_market_coo, read_matrix_market_str, write_matrix_market, write_matrix_market_str,
171 write_matrix_market_symmetric,
172};
173pub use sell::{SellError, SellMatrix, SellStats, SliceSize};
174pub use stochastic::{
175 DiagEstimate, ProbeType, StochasticConfig, StochasticError, StochasticEstimator, TraceEstimate,
176};
177pub use test_matrices::{
178 TestMatrixError, arrow_matrix, diagonal, laplacian_2d, laplacian_3d, poisson_1d, random_spd,
179 tridiagonal,
180};
181
182pub mod prelude {
184 pub use crate::bsc::BscMatrix;
185 pub use crate::bsr::{BsrMatrix, DenseBlock};
186 pub use crate::coo::{CooMatrix, CooMatrixBuilder};
187 pub use crate::csc::CscMatrix;
188 pub use crate::csr::CsrMatrix;
189 pub use crate::dia::DiaMatrix;
190 pub use crate::ell::EllMatrix;
191 pub use crate::graph::{
192 BandwidthProfileResult, BipartiteMatchingResult, BipartiteResult,
193 ConnectedComponentsResult, LevelSetResult, PartitionResult, WeightedMatchingResult,
194 bandwidth_profile, bipartite_matching, connected_components, degree_sequence, is_bipartite,
195 is_structurally_symmetric, level_sets, partition_graph_bisect, partition_graph_kway,
196 pseudo_peripheral_vertex, weighted_bipartite_matching,
197 };
198 pub use crate::hyb::{HybMatrix, HybWidthStrategy};
199 pub use crate::linalg::prelude::*;
200 pub use crate::ops::{spmm, spmm_sparse, spmv};
201 pub use crate::sell::{SellMatrix, SliceSize};
202}