Skip to main content

TensorViewListAPI

Trait TensorViewListAPI 

Source
pub trait TensorViewListAPI<T, B>
where B: DeviceRawAPI<T>,
{ // Required method fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>; }
Expand description

Trait for list of tensor views.

Required Methods§

Source

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Function to get a list of tensor views.

This is used to generalize functions that take multiple tensors as input. The input can be

  • a slice of tensors (either owned or reference);
  • a tuple of tensors (up to 9 elements).

Note that

  • all tensors must have the same data type and backend;
  • the dimension can be different, but will be converted to IxD (dynamic dimension).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<R, T, B, const N: usize> TensorViewListAPI<T, B> for &[&TensorBase<Storage<R, T, B>, Vec<usize>>; N]
where B: DeviceAPI<T>, R: DataAPI<Data = <B as DeviceRawAPI<T>>::Raw>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<R, T, B, const N: usize> TensorViewListAPI<T, B> for &[TensorBase<Storage<R, T, B>, Vec<usize>>; N]
where B: DeviceAPI<T>, R: DataAPI<Data = <B as DeviceRawAPI<T>>::Raw>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<R, T, B, const N: usize> TensorViewListAPI<T, B> for [&TensorBase<Storage<R, T, B>, Vec<usize>>; N]
where B: DeviceAPI<T>, R: DataAPI<Data = <B as DeviceRawAPI<T>>::Raw>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<R, T, B, const N: usize> TensorViewListAPI<T, B> for [TensorBase<Storage<R, T, B>, Vec<usize>>; N]
where B: DeviceAPI<T>, R: DataAPI<Data = <B as DeviceRawAPI<T>>::Raw>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<R, T, B> TensorViewListAPI<T, B> for &[&TensorBase<Storage<R, T, B>, Vec<usize>>]
where B: DeviceAPI<T>, R: DataAPI<Data = <B as DeviceRawAPI<T>>::Raw>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<R, T, B> TensorViewListAPI<T, B> for &[TensorBase<Storage<R, T, B>, Vec<usize>>]
where B: DeviceAPI<T>, R: DataAPI<Data = <B as DeviceRawAPI<T>>::Raw>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1, A2, A3, A4, A5, A6, A7, A8, A9> TensorViewListAPI<T, B> for (A1, A2, A3, A4, A5, A6, A7, A8, A9)
where <A2 as TensorViewAPI>::Dim: DimAPI, A3: TensorViewAPI<Type = T, Backend = B>, <A3 as TensorViewAPI>::Dim: DimAPI, A4: TensorViewAPI<Type = T, Backend = B>, <A4 as TensorViewAPI>::Dim: DimAPI, A5: TensorViewAPI<Type = T, Backend = B>, <A5 as TensorViewAPI>::Dim: DimAPI, A6: TensorViewAPI<Type = T, Backend = B>, A1: TensorViewAPI<Type = T, Backend = B>, <A6 as TensorViewAPI>::Dim: DimAPI, A7: TensorViewAPI<Type = T, Backend = B>, <A7 as TensorViewAPI>::Dim: DimAPI, A8: TensorViewAPI<Type = T, Backend = B>, <A1 as TensorViewAPI>::Dim: DimAPI, A2: TensorViewAPI<Type = T, Backend = B>, <A8 as TensorViewAPI>::Dim: DimAPI, A9: TensorViewAPI<Type = T, Backend = B>, <A9 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1, A2, A3, A4, A5, A6, A7, A8> TensorViewListAPI<T, B> for (A1, A2, A3, A4, A5, A6, A7, A8)
where <A2 as TensorViewAPI>::Dim: DimAPI, A3: TensorViewAPI<Type = T, Backend = B>, <A3 as TensorViewAPI>::Dim: DimAPI, A4: TensorViewAPI<Type = T, Backend = B>, <A4 as TensorViewAPI>::Dim: DimAPI, A5: TensorViewAPI<Type = T, Backend = B>, <A5 as TensorViewAPI>::Dim: DimAPI, A6: TensorViewAPI<Type = T, Backend = B>, A1: TensorViewAPI<Type = T, Backend = B>, <A6 as TensorViewAPI>::Dim: DimAPI, A7: TensorViewAPI<Type = T, Backend = B>, <A1 as TensorViewAPI>::Dim: DimAPI, <A7 as TensorViewAPI>::Dim: DimAPI, A8: TensorViewAPI<Type = T, Backend = B>, A2: TensorViewAPI<Type = T, Backend = B>, <A8 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1, A2, A3, A4, A5, A6, A7> TensorViewListAPI<T, B> for (A1, A2, A3, A4, A5, A6, A7)
where <A2 as TensorViewAPI>::Dim: DimAPI, A3: TensorViewAPI<Type = T, Backend = B>, <A3 as TensorViewAPI>::Dim: DimAPI, A4: TensorViewAPI<Type = T, Backend = B>, <A4 as TensorViewAPI>::Dim: DimAPI, A5: TensorViewAPI<Type = T, Backend = B>, A1: TensorViewAPI<Type = T, Backend = B>, <A5 as TensorViewAPI>::Dim: DimAPI, A6: TensorViewAPI<Type = T, Backend = B>, <A6 as TensorViewAPI>::Dim: DimAPI, A7: TensorViewAPI<Type = T, Backend = B>, <A1 as TensorViewAPI>::Dim: DimAPI, A2: TensorViewAPI<Type = T, Backend = B>, <A7 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1, A2, A3, A4, A5, A6> TensorViewListAPI<T, B> for (A1, A2, A3, A4, A5, A6)
where A2: TensorViewAPI<Type = T, Backend = B>, <A2 as TensorViewAPI>::Dim: DimAPI, A3: TensorViewAPI<Type = T, Backend = B>, <A3 as TensorViewAPI>::Dim: DimAPI, A4: TensorViewAPI<Type = T, Backend = B>, <A4 as TensorViewAPI>::Dim: DimAPI, A5: TensorViewAPI<Type = T, Backend = B>, A1: TensorViewAPI<Type = T, Backend = B>, <A5 as TensorViewAPI>::Dim: DimAPI, A6: TensorViewAPI<Type = T, Backend = B>, <A1 as TensorViewAPI>::Dim: DimAPI, <A6 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1, A2, A3, A4, A5> TensorViewListAPI<T, B> for (A1, A2, A3, A4, A5)
where <A1 as TensorViewAPI>::Dim: DimAPI, A2: TensorViewAPI<Type = T, Backend = B>, <A2 as TensorViewAPI>::Dim: DimAPI, A3: TensorViewAPI<Type = T, Backend = B>, <A3 as TensorViewAPI>::Dim: DimAPI, A4: TensorViewAPI<Type = T, Backend = B>, A1: TensorViewAPI<Type = T, Backend = B>, <A4 as TensorViewAPI>::Dim: DimAPI, A5: TensorViewAPI<Type = T, Backend = B>, <A5 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1, A2, A3, A4> TensorViewListAPI<T, B> for (A1, A2, A3, A4)
where <A1 as TensorViewAPI>::Dim: DimAPI, A2: TensorViewAPI<Type = T, Backend = B>, <A2 as TensorViewAPI>::Dim: DimAPI, A3: TensorViewAPI<Type = T, Backend = B>, <A3 as TensorViewAPI>::Dim: DimAPI, A4: TensorViewAPI<Type = T, Backend = B>, A1: TensorViewAPI<Type = T, Backend = B>, <A4 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1, A2, A3> TensorViewListAPI<T, B> for (A1, A2, A3)
where <A1 as TensorViewAPI>::Dim: DimAPI, A2: TensorViewAPI<Type = T, Backend = B>, <A2 as TensorViewAPI>::Dim: DimAPI, A3: TensorViewAPI<Type = T, Backend = B>, A1: TensorViewAPI<Type = T, Backend = B>, <A3 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1, A2> TensorViewListAPI<T, B> for (A1, A2)
where A1: TensorViewAPI<Type = T, Backend = B>, <A1 as TensorViewAPI>::Dim: DimAPI, A2: TensorViewAPI<Type = T, Backend = B>, <A2 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Source§

impl<T, B, A1> TensorViewListAPI<T, B> for (A1,)
where A1: TensorViewAPI<Type = T, Backend = B>, <A1 as TensorViewAPI>::Dim: DimAPI, B: DeviceAPI<T>,

Source§

fn view_list( &self, ) -> Vec<TensorBase<Storage<DataRef<'_, <B as DeviceRawAPI<T>>::Raw>, T, B>, Vec<usize>>>

Implementors§

Source§

impl<R, T, B> TensorViewListAPI<T, B> for Vec<&TensorBase<Storage<R, T, B>, Vec<usize>>>
where B: DeviceAPI<T>, R: DataAPI<Data = <B as DeviceRawAPI<T>>::Raw>,

Source§

impl<R, T, B> TensorViewListAPI<T, B> for Vec<TensorBase<Storage<R, T, B>, Vec<usize>>>
where B: DeviceAPI<T>, R: DataAPI<Data = <B as DeviceRawAPI<T>>::Raw>,