pub struct Axis<const I: isize>;
Expand description
A single axis known at compile time
Trait Implementations
sourceimpl<const M: usize, const N: usize, H: Tape> BroadcastTo<Tensor2D<M, N, H>, Axis<0>> for Tensor1D<N, H>
impl<const M: usize, const N: usize, H: Tape> BroadcastTo<Tensor2D<M, N, H>, Axis<0>> for Tensor1D<N, H>
sourceimpl<const M: usize, const N: usize, H: Tape> BroadcastTo<Tensor2D<M, N, H>, Axis<1>> for Tensor1D<M, H>
impl<const M: usize, const N: usize, H: Tape> BroadcastTo<Tensor2D<M, N, H>, Axis<1>> for Tensor1D<M, H>
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> BroadcastTo<Tensor3D<M, N, O, H>, Axis<0>> for Tensor2D<N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> BroadcastTo<Tensor3D<M, N, O, H>, Axis<0>> for Tensor2D<N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> BroadcastTo<Tensor3D<M, N, O, H>, Axis<1>> for Tensor2D<M, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> BroadcastTo<Tensor3D<M, N, O, H>, Axis<1>> for Tensor2D<M, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> BroadcastTo<Tensor3D<M, N, O, H>, Axis<2>> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> BroadcastTo<Tensor3D<M, N, O, H>, Axis<2>> for Tensor2D<M, N, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<0>> for Tensor3D<N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<0>> for Tensor3D<N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<1>> for Tensor3D<M, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<1>> for Tensor3D<M, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<2>> for Tensor3D<M, N, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<2>> for Tensor3D<M, N, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<3>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<3>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> DeviceReduce<[[[[f32; P]; O]; N]; M], Axis<0>> for Cpu
impl<const M: usize, const N: usize, const O: usize, const P: usize> DeviceReduce<[[[[f32; P]; O]; N]; M], Axis<0>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[[f32; P]; O]; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[[f32; P]; O]; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[[f32; P]; O]; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[[f32; P]; O]; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> DeviceReduce<[[[[f32; P]; O]; N]; M], Axis<1>> for Cpu
impl<const M: usize, const N: usize, const O: usize, const P: usize> DeviceReduce<[[[[f32; P]; O]; N]; M], Axis<1>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[[f32; P]; O]; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[[f32; P]; O]; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[[f32; P]; O]; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[[f32; P]; O]; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> DeviceReduce<[[[[f32; P]; O]; N]; M], Axis<2>> for Cpu
impl<const M: usize, const N: usize, const O: usize, const P: usize> DeviceReduce<[[[[f32; P]; O]; N]; M], Axis<2>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[[f32; P]; O]; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[[f32; P]; O]; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[[f32; P]; O]; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[[f32; P]; O]; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> DeviceReduce<[[[[f32; P]; O]; N]; M], Axis<3>> for Cpu
impl<const M: usize, const N: usize, const O: usize, const P: usize> DeviceReduce<[[[[f32; P]; O]; N]; M], Axis<3>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[[f32; P]; O]; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[[f32; P]; O]; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[[f32; P]; O]; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[[f32; P]; O]; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize, const O: usize> DeviceReduce<[[[f32; O]; N]; M], Axis<0>> for Cpu
impl<const M: usize, const N: usize, const O: usize> DeviceReduce<[[[f32; O]; N]; M], Axis<0>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[f32; O]; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[f32; O]; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[f32; O]; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[f32; O]; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize, const O: usize> DeviceReduce<[[[f32; O]; N]; M], Axis<1>> for Cpu
impl<const M: usize, const N: usize, const O: usize> DeviceReduce<[[[f32; O]; N]; M], Axis<1>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[f32; O]; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[f32; O]; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[f32; O]; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[f32; O]; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize, const O: usize> DeviceReduce<[[[f32; O]; N]; M], Axis<2>> for Cpu
impl<const M: usize, const N: usize, const O: usize> DeviceReduce<[[[f32; O]; N]; M], Axis<2>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[f32; O]; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[[f32; O]; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[f32; O]; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[[f32; O]; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize> DeviceReduce<[[f32; N]; M], Axis<0>> for Cpu
impl<const M: usize, const N: usize> DeviceReduce<[[f32; N]; M], Axis<0>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[f32; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[f32; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[f32; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[f32; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize> DeviceReduce<[[f32; N]; M], Axis<1>> for Cpu
impl<const M: usize, const N: usize> DeviceReduce<[[f32; N]; M], Axis<1>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[f32; N]; M]
)
fn reduce_into_no_reset<A: Accumulator<f32>>(
r: &mut Self::Reduced,
t: &[[f32; N]; M]
)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[f32; N]; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [[f32; N]; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize> DeviceReduce<[f32; M], Axis<0>> for Cpu
impl<const M: usize> DeviceReduce<[f32; M], Axis<0>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(r: &mut Self::Reduced, t: &[f32; M])
fn reduce_into_no_reset<A: Accumulator<f32>>(r: &mut Self::Reduced, t: &[f32; M])
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [f32; M],
r: &Self::Reduced
)
fn broadcast_into_no_reset<A: Accumulator<f32>>(
t: &mut [f32; M],
r: &Self::Reduced
)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl DeviceReduce<f32, Axis<0>> for Cpu
impl DeviceReduce<f32, Axis<0>> for Cpu
sourcefn reduce_into_no_reset<A: Accumulator<f32>>(r: &mut Self::Reduced, t: &f32)
fn reduce_into_no_reset<A: Accumulator<f32>>(r: &mut Self::Reduced, t: &f32)
Reduces
T
into Self::Reduced
with accumulator A
without resetting the values in r
.sourcefn broadcast_into_no_reset<A: Accumulator<f32>>(t: &mut f32, r: &Self::Reduced)
fn broadcast_into_no_reset<A: Accumulator<f32>>(t: &mut f32, r: &Self::Reduced)
sourcefn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
fn reduce_into<A: Accumulator<T::Dtype>>(r: &mut Self::Reduced, t: &T)
Fills
r
with Accumulator::INIT before reducing.sourcefn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
fn broadcast_into<A: Accumulator<T::Dtype>>(t: &mut T, r: &Self::Reduced)
Fills
t
with Accumulator::INIT before broadcasting.sourcefn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
fn reduce<A: Accumulator<T::Dtype>>(t: &T) -> Box<Self::Reduced>
Allocates
Self::Reduced
then calls DeviceReduce::reduce_into()sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> HasAxes<Axis<0>> for [[[[f32; P]; O]; N]; M]
impl<const M: usize, const N: usize, const O: usize, const P: usize> HasAxes<Axis<0>> for [[[[f32; P]; O]; N]; M]
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> HasAxes<Axis<1>> for [[[[f32; P]; O]; N]; M]
impl<const M: usize, const N: usize, const O: usize, const P: usize> HasAxes<Axis<1>> for [[[[f32; P]; O]; N]; M]
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> HasAxes<Axis<2>> for [[[[f32; P]; O]; N]; M]
impl<const M: usize, const N: usize, const O: usize, const P: usize> HasAxes<Axis<2>> for [[[[f32; P]; O]; N]; M]
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> HasAxes<Axis<3>> for [[[[f32; P]; O]; N]; M]
impl<const M: usize, const N: usize, const O: usize, const P: usize> HasAxes<Axis<3>> for [[[[f32; P]; O]; N]; M]
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> Reduce<Axis<0>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> Reduce<Axis<0>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<0>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<0>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> Reduce<Axis<1>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> Reduce<Axis<1>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<1>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<1>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> Reduce<Axis<2>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> Reduce<Axis<2>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<2>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<2>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<3>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<3>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, H: Tape> SelectTo<Tensor0D<H>, Axis<0>> for Tensor1D<M, H>
impl<const M: usize, H: Tape> SelectTo<Tensor0D<H>, Axis<0>> for Tensor1D<M, H>
type Indices = usize
sourcefn select(self, indices: &Self::Indices) -> Tensor0D<H>
fn select(self, indices: &Self::Indices) -> Tensor0D<H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, H: Tape> SelectTo<Tensor1D<M, H>, Axis<1>> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, H: Tape> SelectTo<Tensor1D<M, H>, Axis<1>> for Tensor2D<M, N, H>
type Indices = [usize; M]
sourcefn select(self, indices: &Self::Indices) -> Tensor1D<M, H>
fn select(self, indices: &Self::Indices) -> Tensor1D<M, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, H: Tape> SelectTo<Tensor1D<N, H>, Axis<0>> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, H: Tape> SelectTo<Tensor1D<N, H>, Axis<0>> for Tensor2D<M, N, H>
type Indices = usize
sourcefn select(self, indices: &Self::Indices) -> Tensor1D<N, H>
fn select(self, indices: &Self::Indices) -> Tensor1D<N, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const Z: usize, H: Tape> SelectTo<Tensor1D<Z, H>, Axis<0>> for Tensor1D<M, H>
impl<const M: usize, const Z: usize, H: Tape> SelectTo<Tensor1D<Z, H>, Axis<0>> for Tensor1D<M, H>
type Indices = [usize; Z]
sourcefn select(self, indices: &Self::Indices) -> Tensor1D<Z, H>
fn select(self, indices: &Self::Indices) -> Tensor1D<Z, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const B: usize, const Z: usize, H: Tape> SelectTo<Tensor2D<B, Z, H>, Axis<0>> for Tensor1D<M, H>
impl<const M: usize, const B: usize, const Z: usize, H: Tape> SelectTo<Tensor2D<B, Z, H>, Axis<0>> for Tensor1D<M, H>
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> SelectTo<Tensor2D<M, N, H>, Axis<2>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> SelectTo<Tensor2D<M, N, H>, Axis<2>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> SelectTo<Tensor2D<M, O, H>, Axis<1>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> SelectTo<Tensor2D<M, O, H>, Axis<1>> for Tensor3D<M, N, O, H>
type Indices = [usize; M]
sourcefn select(self, indices: &Self::Indices) -> Tensor2D<M, O, H>
fn select(self, indices: &Self::Indices) -> Tensor2D<M, O, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const Z: usize, H: Tape> SelectTo<Tensor2D<M, Z, H>, Axis<1>> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, const Z: usize, H: Tape> SelectTo<Tensor2D<M, Z, H>, Axis<1>> for Tensor2D<M, N, H>
sourceimpl<const M: usize, const N: usize, const O: usize, H: Tape> SelectTo<Tensor2D<N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> SelectTo<Tensor2D<N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
type Indices = usize
sourcefn select(self, indices: &Self::Indices) -> Tensor2D<N, O, H>
fn select(self, indices: &Self::Indices) -> Tensor2D<N, O, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const Z: usize, H: Tape> SelectTo<Tensor2D<Z, N, H>, Axis<0>> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, const Z: usize, H: Tape> SelectTo<Tensor2D<Z, N, H>, Axis<0>> for Tensor2D<M, N, H>
type Indices = [usize; Z]
sourcefn select(self, indices: &Self::Indices) -> Tensor2D<Z, N, H>
fn select(self, indices: &Self::Indices) -> Tensor2D<Z, N, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const B: usize, const Z: usize, H: Tape> SelectTo<Tensor3D<B, Z, N, H>, Axis<0>> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, const B: usize, const Z: usize, H: Tape> SelectTo<Tensor3D<B, Z, N, H>, Axis<0>> for Tensor2D<M, N, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, N, O, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, N, O, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, N, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, N, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const Z: usize, H: Tape> SelectTo<Tensor3D<M, N, Z, H>, Axis<2>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, const Z: usize, H: Tape> SelectTo<Tensor3D<M, N, Z, H>, Axis<2>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
type Indices = [usize; M]
sourcefn select(self, indices: &Self::Indices) -> Tensor3D<M, O, P, H>
fn select(self, indices: &Self::Indices) -> Tensor3D<M, O, P, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const O: usize, const Z: usize, H: Tape> SelectTo<Tensor3D<M, Z, O, H>, Axis<1>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, const Z: usize, H: Tape> SelectTo<Tensor3D<M, Z, O, H>, Axis<1>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
type Indices = usize
sourcefn select(self, indices: &Self::Indices) -> Tensor3D<N, O, P, H>
fn select(self, indices: &Self::Indices) -> Tensor3D<N, O, P, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const O: usize, const Z: usize, H: Tape> SelectTo<Tensor3D<Z, N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, const Z: usize, H: Tape> SelectTo<Tensor3D<Z, N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
type Indices = [usize; Z]
sourcefn select(self, indices: &Self::Indices) -> Tensor3D<Z, N, O, H>
fn select(self, indices: &Self::Indices) -> Tensor3D<Z, N, O, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const O: usize, const B: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<B, Z, N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, const B: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<B, Z, N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, N, O, Z, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, N, O, Z, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, N, Z, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, N, Z, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, Z, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, Z, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<Z, N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<Z, N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
type Indices = [usize; Z]
sourcefn select(self, indices: &Self::Indices) -> Tensor4D<Z, N, O, P, H>
fn select(self, indices: &Self::Indices) -> Tensor4D<Z, N, O, P, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
impl<const M: usize, const N: usize, H: Tape> ReduceTo<Tensor1D<M, H>, Axis<1>> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, H: Tape> ReduceTo<Tensor1D<N, H>, Axis<0>> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> ReduceTo<Tensor2D<M, N, H>, Axis<2>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> ReduceTo<Tensor2D<M, O, H>, Axis<1>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, H: Tape> ReduceTo<Tensor2D<N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor3D<M, N, O, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor3D<M, N, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor3D<M, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor3D<N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
Auto Trait Implementations
impl<const I: isize> RefUnwindSafe for Axis<I>
impl<const I: isize> Send for Axis<I>
impl<const I: isize> Sync for Axis<I>
impl<const I: isize> Unpin for Axis<I>
impl<const I: isize> UnwindSafe for Axis<I>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more