#[cfg(feature = "autodiff")]
mod ad;
pub mod backend;
mod cpu;
#[cfg(feature = "autodiff")]
mod eager_composites;
#[cfg(feature = "autodiff")]
mod eager_ext;
pub mod error;
mod extension;
#[cfg(feature = "cuda")]
mod gpu;
pub mod prelude;
mod tensor_ext;
mod traced;
mod validation;
#[cfg(feature = "autodiff")]
pub use ad::semantic_ad_rules;
#[cfg(feature = "autodiff")]
pub use ad::support::{
all_linalg_ad_support, linalg_ad_support, LinalgAdModeSupport, LinalgAdOpKind,
LinalgAdOutputSupport, LinalgAdRoute, LinalgAdRuleSupport, LinalgAdSupport,
};
pub use backend::LinalgBackend;
#[cfg(feature = "autodiff")]
pub use eager_ext::EagerTensorLinalgExt;
pub use error::{Error, Result};
pub use extension::{
extension_module, EighGauge, EighOptions, QrGauge, QrOptions, SvdGauge, SvdOptions,
DEFAULT_DECOMPOSITION_DERIVATIVE_EPS, LINALG_EXTENSION_FAMILY_ID,
};
pub use tensor_ext::{
LinalgScalar, TensorLinalgExt, TensorReadLinalgExt, TypedEig, TypedFullPivLu, TypedLu,
TypedSvd, TypedTensorLinalgExt,
};
pub use traced::TracedTensorLinalgExt;