1#[cfg(feature = "native")]
15pub mod batched_blas;
16pub mod fmm_interface;
17
18pub use solvers::direct;
20pub use solvers::traits::{LinearOperator, Preconditioner};
24
25pub use fmm_interface::{CsrOperator, DenseOperator, DiagonalPreconditioner, MlfmmOperator};
27
28#[cfg(any(feature = "native", feature = "wasm"))]
29pub use fmm_interface::SlfmmOperator;
30
31pub use fmm_interface::{
33 gmres_solve_tbem_with_ilu, gmres_solve_with_ilu, gmres_solve_with_ilu_operator, solve_bicgstab,
34 solve_cgs, solve_gmres, solve_tbem_with_ilu, solve_with_ilu, solve_with_ilu_operator,
35};
36
37#[cfg(any(feature = "native", feature = "wasm"))]
39pub use fmm_interface::{
40 HierarchicalFmmPreconditioner, SparseNearfieldIlu, gmres_solve_fmm_hierarchical,
41 gmres_solve_with_hierarchical_precond,
42};
43
44#[cfg(feature = "native")]
46pub use fmm_interface::{gmres_solve_fmm_batched, gmres_solve_fmm_batched_with_ilu};
47
48pub use fmm_interface::{
50 AdaptiveMeshConfig, estimate_element_count, mesh_resolution_for_frequency_range,
51 recommended_mesh_resolution,
52};
53
54pub use solvers::iterative::{BiCgstabConfig, BiCgstabSolution};
56pub use solvers::iterative::{CgsConfig, CgsSolution};
57pub use solvers::iterative::{GmresConfig, GmresSolution};
58pub use solvers::preconditioners::IluPreconditioner;
59pub use solvers::preconditioners::{AmgConfig, AmgPreconditioner};
60
61#[cfg(feature = "native")]
63pub use batched_blas::{
64 SlfmmMatvecWorkspace, batched_d_matrix_apply, batched_near_field_apply, batched_s_matrix_apply,
65 batched_t_matrix_apply, create_batched_matvec, slfmm_matvec_batched,
66};