1#![doc = include_str!("../README.md")]
7#![allow(clippy::result_large_err)]
9
10pub mod core;
11pub mod error;
12pub mod inference;
13pub mod macros;
14pub mod runtime;
15
16pub use core::address::Address;
17pub use core::distribution::{
19 Bernoulli, Beta, Binomial, Categorical, Distribution, Exponential, Gamma, LogNormal, Normal,
20 Poisson, Uniform,
21};
22pub use core::model::{
23 factor, guard, observe, pure, sample, sample_bool, sample_f64, sample_u64, sample_usize,
24 sequence_vec, traverse_vec, zip, Model, ModelExt, SampleType,
25};
26pub use runtime::handler::Handler;
27pub use runtime::interpreters::{
28 PriorHandler, ReplayHandler, SafeReplayHandler, SafeScoreGivenTrace, ScoreGivenTrace,
29};
30pub use runtime::trace::{Choice, ChoiceValue, Trace};
31
32pub use core::numerical::{log1p_exp, log_sum_exp, normalize_log_probs, safe_ln};
34pub use error::{ErrorCategory, ErrorCode, ErrorContext, FugueError, FugueResult, Validate};
35pub use inference::abc::{
36 abc_rejection, abc_scalar_summary, abc_smc, DistanceFunction, EuclideanDistance,
37};
38pub use inference::diagnostics::{
39 extract_bool_values, extract_f64_values, extract_i64_values, extract_u64_values,
40 extract_usize_values, print_diagnostics, r_hat_f64, summarize_f64_parameter, Diagnostics,
41 ParameterSummary,
42};
43pub use inference::mcmc_utils::{
44 effective_sample_size_mcmc, geweke_diagnostic, DiminishingAdaptation,
45};
46pub use inference::mh::{adaptive_mcmc_chain, adaptive_single_site_mh};
47pub use inference::smc::{
48 adaptive_smc, effective_sample_size, Particle, ResamplingMethod, SMCConfig,
49};
50pub use inference::validation::{
51 ks_test_distribution, test_conjugate_normal_model, ValidationResult,
52};
53pub use inference::vi::{elbo_with_guide, optimize_meanfield_vi, MeanFieldGuide, VariationalParam};
54pub use runtime::memory::{CowTrace, PooledPriorHandler, TraceBuilder, TracePool};