pub trait Backend: TensorOps<Self> + ModuleOps<Self> + Clone + Sized + Default + Send + Sync + Debug + 'static {
    type Device: Copy + Clone + Default + Debug + Send + Sync;
    type Elem: Element;
    type FullPrecisionElem: Element;
    type FullPrecisionBackend: Backend<Elem = Self::FullPrecisionElem, Device = Self::Device>;
    type IntegerBackend: Backend<Elem = i64, Device = Self::Device>;
    type TensorPrimitive<const D: usize>: Add<Self::TensorPrimitive<D>, Output = Self::TensorPrimitive<D>> + Zeros + Ones + Clone + Send + Sync + 'static + Debug;
    type BoolTensorPrimitive<const D: usize>: Clone + Send + Sync + 'static + Debug + From<<Self::IntegerBackend as Backend>::BoolTensorPrimitive<D>>;

    fn ad_enabled() -> bool;
    fn name() -> String;
    fn seed(seed: u64);
}

Required Associated Types§

Required Methods§

Implementors§