#![forbid(unsafe_code)]
#![deny(missing_docs)]
#![allow(
clippy::cast_precision_loss,
clippy::cast_possible_truncation,
clippy::cast_sign_loss,
clippy::float_cmp,
clippy::many_single_char_names,
clippy::similar_names,
clippy::neg_cmp_op_on_partial_ord,
clippy::unnecessary_wraps,
clippy::manual_memcpy,
clippy::single_match_else,
clippy::match_same_arms,
clippy::manual_range_contains,
clippy::doc_markdown,
clippy::needless_range_loop,
clippy::too_many_lines,
clippy::too_many_arguments
)]
pub mod backend;
pub mod conjugate;
pub mod conjugate_moment_match;
pub mod diagnostics;
pub mod error;
pub mod external_prior;
pub mod gaussian_target;
pub mod graph_samples;
pub mod hmc;
pub mod laplace;
pub(crate) mod likelihood_terms;
pub(crate) mod linalg;
pub mod mcmc_stats;
pub mod posterior;
pub mod prior;
pub mod transport;
pub use backend::{
BayesDesignRef, BayesFitOptions, BayesFitResult, BayesLikelihood, InferenceBackend,
LaplaceWorkspace, coefficient_schema,
};
pub use conjugate::{ConjugateGaussianBackend, fit_conjugate_gaussian};
pub use conjugate_moment_match::{BetaHyperparameters, GammaHyperparameters};
pub use diagnostics::{
ConflictSummary, HessianFactorization, InferenceDiagnostics, PriorSensitivitySummary,
};
pub use error::ProbError;
pub use external_prior::{
ComposedPrior, ExternalPriorSource, ExternalPriorWeight, compose_external_priors,
compose_external_priors_with_alphas, kish_ess,
};
pub use gaussian_target::{
GaussianInvGammaTarget, GaussianKnownTarget, GaussianTarget, PosteriorTarget,
gaussian_target_from_model,
};
pub use graph_samples::{GraphEnvelopeSubsample, GraphIdentFlag, WeightedGraphSamples};
pub use hmc::{HmcGlmBackend, HmcOptions, fit_hmc_glm};
pub use laplace::{LaplaceGlmBackend, fit_laplace_glm, sample_gaussian_mvn};
pub use mcmc_stats::{
McmcSummary, ParameterMcmcDiagnostics, all_chains_moved, max_split_rhat, mcmc_summary,
min_bulk_ess, min_tail_ess, parameter_mcmc_diagnostics,
};
pub use posterior::{
EffectBatch, PosteriorBatch, PosteriorDraws, PosteriorEvalWorkspace, PosteriorQuantityKind,
PosteriorSchema, PosteriorSummary,
};
pub use prior::{
ContrastCoding, EffectPrior, GaussianCoefficientPrior, GaussianVarianceModel, InvGammaPrior,
PriorSet, PriorSpec,
};
pub use transport::{
POPULATION_TAG_KEY, TRANSPORT_ASSUMPTION_ID, TransportAdjustment, TransportContext,
TransportError, TransportOutcome, TransportPolicy, apply_transport, compose_with_transport,
populations_require_transport,
};