#[cfg(feature = "ir")]
pub use burn_ir as ir;
pub use burn_backend::*;
pub use burn_backend_extension::*;
pub use burn_dispatch::{backend::*, device::*, tensor::*};
pub use burn_dispatch::backends::*;
pub trait ExtensionType<B: Backend> {
type Target;
fn map_to_dispatch<F>(
self,
map_kind: F,
checkpointing: Option<CheckpointingStrategy>,
) -> Self::Target
where
F: Fn(BackendTensor<B>) -> DispatchTensorKind;
fn map_from_dispatch<F>(target: Self::Target, unwrap_kind: F) -> Self
where
F: Fn(DispatchTensorKind) -> BackendTensor<B>;
fn dispatch_repr(target: &Self::Target) -> Option<&DispatchTensor>;
fn dispatch_float_repr(target: &Self::Target) -> Option<&DispatchTensor>;
}