Trait TensorOps

Source
pub trait TensorOps<T, I>: BaseTensorOps<Item = I>
where I: NumberOps,
{
Show 22 methods // Required methods fn matmul(&self, rhs: &T) -> Result<T>; fn item(&self) -> Result<Vec<I>>; fn sum(&self, dim: i64) -> Result<T>; fn apply(&self, f: impl Fn(Self::Item) -> Self::Item) -> Result<T>; fn apply_xy( &self, rhs: &T, f: impl Fn(Self::Item, Self::Item) -> Self::Item, ) -> Result<T>; fn size(&self) -> Result<usize>; // Provided methods fn max(&self) -> Result<I> where I: PartialOrd + FloatCore { ... } fn log(&self, i: I) -> Result<T> where I: Real { ... } fn ln(&self) -> Result<T> where I: Real { ... } fn add(&self, rhs: &T) -> Result<T> { ... } fn add_item(&self, rhs: &Self::Item) -> Result<T> { ... } fn sub(&self, rhs: &T) -> Result<T> { ... } fn sub_item(&self, rhs: &Self::Item) -> Result<T> { ... } fn mul(&self, rhs: &T) -> Result<T> { ... } fn mul_item(&self, rhs: &Self::Item) -> Result<T> { ... } fn div_item(&self, rhs: &Self::Item) -> Result<T> { ... } fn div(&self, rhs: &T) -> Result<T> { ... } fn dim(&self, dim: i64) -> Result<u64> { ... } fn sqrt(&self) -> Result<T> where I: Real { ... } fn tanh(&self) -> Result<T> where I: Real { ... } fn neg(&self) -> Result<T> where I: Neg<Output = I> { ... } fn exp(&self) -> Result<T> where I: Real { ... }
}

Required Methods§

Source

fn matmul(&self, rhs: &T) -> Result<T>

Source

fn item(&self) -> Result<Vec<I>>

Source

fn sum(&self, dim: i64) -> Result<T>

Source

fn apply(&self, f: impl Fn(Self::Item) -> Self::Item) -> Result<T>

Source

fn apply_xy( &self, rhs: &T, f: impl Fn(Self::Item, Self::Item) -> Self::Item, ) -> Result<T>

Source

fn size(&self) -> Result<usize>

Provided Methods§

Source

fn max(&self) -> Result<I>
where I: PartialOrd + FloatCore,

Source

fn log(&self, i: I) -> Result<T>
where I: Real,

Source

fn ln(&self) -> Result<T>
where I: Real,

Source

fn add(&self, rhs: &T) -> Result<T>

Source

fn add_item(&self, rhs: &Self::Item) -> Result<T>

Source

fn sub(&self, rhs: &T) -> Result<T>

Source

fn sub_item(&self, rhs: &Self::Item) -> Result<T>

Source

fn mul(&self, rhs: &T) -> Result<T>

Source

fn mul_item(&self, rhs: &Self::Item) -> Result<T>

Source

fn div_item(&self, rhs: &Self::Item) -> Result<T>

Source

fn div(&self, rhs: &T) -> Result<T>

Source

fn dim(&self, dim: i64) -> Result<u64>

Source

fn sqrt(&self) -> Result<T>
where I: Real,

Source

fn tanh(&self) -> Result<T>
where I: Real,

Source

fn neg(&self) -> Result<T>
where I: Neg<Output = I>,

Source

fn exp(&self) -> Result<T>
where I: Real,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl TensorOps<Float32Tensor, f32> for Float32Tensor

Source§

impl<T, U, I> TensorOps<T, I> for U
where T: TensorOps<T, I>, U: Dequantize<T> + BaseTensorOps<Item = I>, I: NumberOps + Clone,