#![warn(missing_docs)]
#[macro_use]
extern crate derive_new;
extern crate alloc;
mod ops;
pub mod compute;
pub mod kernel;
pub mod tensor;
mod element;
pub use element::{FloatElement, IntElement};
mod device;
pub use device::*;
mod backend;
pub use backend::*;
mod graphics;
pub use graphics::*;
#[cfg(any(feature = "fusion", test))]
mod fusion;
#[cfg(test)]
mod tests {
use super::*;
pub type TestBackend = Wgpu;
pub type ReferenceBackend = burn_ndarray::NdArray<f32>;
pub type TestTensor<const D: usize> = burn_tensor::Tensor<TestBackend, D>;
pub type ReferenceTensor<const D: usize> = burn_tensor::Tensor<ReferenceBackend, D>;
pub type TestTensorInt<const D: usize> = burn_tensor::Tensor<TestBackend, D, burn_tensor::Int>;
burn_tensor::testgen_all!();
burn_autodiff::testgen_all!();
}