pub use tensorlogic_adapters as adapters;
pub use tensorlogic_compiler as compiler;
pub use tensorlogic_infer as infer;
pub use tensorlogic_ir as ir;
pub use tensorlogic_scirs_backend as scirs_backend;
#[cfg(feature = "train")]
pub use tensorlogic_train as train;
#[cfg(feature = "oxirs")]
pub use tensorlogic_oxirs_bridge as oxirs_bridge;
#[cfg(feature = "quantrs")]
pub use tensorlogic_quantrs_hooks as quantrs_hooks;
#[cfg(feature = "sklears")]
pub use tensorlogic_sklears_kernels as sklears_kernels;
#[cfg(feature = "trustformers")]
pub use tensorlogic_trustformers as trustformers;
#[cfg(feature = "rng")]
pub use tensorlogic_oxicuda_rng as oxicuda_rng;
#[cfg(feature = "solver")]
pub use tensorlogic_oxicuda_solver as oxicuda_solver;
#[cfg(feature = "sparse")]
pub use tensorlogic_oxicuda_sparse as oxicuda_sparse;
pub mod prelude {
pub use crate::compiler::compile_to_einsum;
pub use crate::infer::{TlAutodiff, TlExecutor};
pub use crate::ir::{TLExpr, Term};
pub use crate::scirs_backend::Scirs2Exec;
pub use crate::compiler::CompilationConfig;
pub use crate::ir::EinsumGraph;
pub use crate::adapters::AdapterError;
pub use crate::compiler::CompileError;
pub use crate::infer::ExecutorError;
pub use crate::ir::IrError;
pub use crate::scirs_backend::TlBackendError;
#[cfg(feature = "oxirs")]
pub use crate::oxirs_bridge::BridgeError;
#[cfg(feature = "quantrs")]
pub use crate::quantrs_hooks::PgmError;
#[cfg(feature = "sklears")]
pub use crate::sklears_kernels::KernelError;
#[cfg(feature = "train")]
pub use crate::train::TrainError;
#[cfg(feature = "trustformers")]
pub use crate::trustformers::TrustformerError;
}