1#[macro_export]
13macro_rules! debug_warn {
14 ($($arg:tt)*) => {
15 if std::env::var("SPARSEIR_DEBUG").is_ok() {
16 eprintln!("[SPARSEIR WARN] {}", format!($($arg)*));
17 }
18 };
19}
20
21pub mod basis;
22pub mod basis_trait; pub mod col_piv_qr; pub mod dlr; pub mod fitters; pub mod fpu_check; pub mod freq;
28pub mod gauss;
29pub mod gemm; pub mod interpolation1d;
31pub mod interpolation2d;
32pub mod kernel;
33pub mod kernelmatrix;
34pub mod matsubara_sampling; pub mod numeric;
36pub mod poly;
37pub mod polyfourier;
38pub mod sampling; pub mod special_functions;
40pub mod sve;
41pub mod taufuncs;
42pub mod traits;
43pub mod tsvd; pub mod working_buffer; pub use basis::{BosonicBasis, FermionicBasis, FiniteTempBasis};
48pub use basis_trait::Basis;
49pub use dlr::{
50 DiscreteLehmannRepresentation, DlrError, bosonic_single_pole, fermionic_single_pole,
51 giwn_single_pole, gtau_single_pole,
52};
53pub use fitters::InplaceFitter;
54pub use freq::{BosonicFreq, FermionicFreq, MatsubaraFreq};
55pub use gauss::{Rule, legendre, legendre_custom, legendre_twofloat};
56pub use interpolation1d::Interpolate1D;
57pub use interpolation2d::Interpolate2D;
58pub use kernel::{
59 AbstractKernel, CentrosymmKernel, KernelProperties, LogisticKernel, LogisticSVEHints,
60 RegularizedBoseKernel, RegularizedBoseSVEHints, SVEHints, SymmetryType,
61 compute_logistic_kernel,
62};
63pub use kernelmatrix::{
64 DiscretizedKernel, InterpolatedKernel, matrix_from_gauss, matrix_from_gauss_noncentrosymmetric,
65 matrix_from_gauss_with_segments,
66};
67pub use matsubara_sampling::{MatsubaraSampling, MatsubaraSamplingPositiveOnly};
68pub use numeric::CustomNumeric;
69pub use poly::{PiecewiseLegendrePoly, PiecewiseLegendrePolyVector};
70pub use polyfourier::{
71 BosonicPiecewiseLegendreFT, BosonicPiecewiseLegendreFTVector, FermionicPiecewiseLegendreFT,
72 FermionicPiecewiseLegendreFTVector, PiecewiseLegendreFT, PiecewiseLegendreFTVector, PowerModel,
73};
74pub use sampling::TauSampling;
75pub use sve::{
76 CentrosymmSVE, SVDStrategy, SVEResult, SVEStrategy, SamplingSVE, TworkType, compute_sve,
77 truncate,
78};
79pub use traits::{Bosonic, Fermionic, Statistics, StatisticsMarker, StatisticsType};
80pub use tsvd::{
81 SVDResult, TSVDConfig, TSVDError, svd_decompose, tsvd, tsvd_df64, tsvd_df64_from_f64, tsvd_f64,
82};
83
84pub use mdarray::{DTensor, DynRank, Tensor};
86pub use xprec::Df64;
87
88#[cfg(test)]
90pub mod test_utils;