Trait rin::math::base::storage::ReshapableStorage[][src]

pub trait ReshapableStorage<N, R1, C1, R2, C2>: Storage<N, R1, C1> where
    N: Scalar,
    C2: Dim,
    C1: Dim,
    R1: Dim,
    R2: Dim
{ type Output: Storage<N, R2, C2>; pub fn reshape_generic(self, nrows: R2, ncols: C2) -> Self::Output; }

A matrix storage that can be reshaped in-place.

Associated Types

type Output: Storage<N, R2, C2>[src]

The reshaped storage type.

Loading content...

Required methods

pub fn reshape_generic(self, nrows: R2, ncols: C2) -> Self::Output[src]

Reshapes the storage into the output storage type.

Loading content...

Implementors

impl<N, C1, C2> ReshapableStorage<N, Dynamic, C1, Dynamic, C2> for VecStorage<N, Dynamic, C1> where
    N: Scalar,
    C2: Dim,
    C1: Dim
[src]

type Output = VecStorage<N, Dynamic, C2>

impl<N, C1, R2> ReshapableStorage<N, Dynamic, C1, R2, Dynamic> for VecStorage<N, Dynamic, C1> where
    N: Scalar,
    C1: Dim,
    R2: DimName
[src]

type Output = VecStorage<N, R2, Dynamic>

impl<N, R1, C1, R2, C2> ReshapableStorage<N, R1, C1, R2, C2> for ArrayStorage<N, R1, C1> where
    N: Scalar,
    C2: DimName,
    C1: DimName,
    R1: DimName,
    R2: DimName,
    <R1 as DimName>::Value: Mul<<C1 as DimName>::Value>,
    <<R1 as DimName>::Value as Mul<<C1 as DimName>::Value>>::Output: ArrayLength<N>,
    <R2 as DimName>::Value: Mul<<C2 as DimName>::Value>,
    <<R2 as DimName>::Value as Mul<<C2 as DimName>::Value>>::Output: ArrayLength<N>,
    <<R2 as DimName>::Value as Mul<<C2 as DimName>::Value>>::Output == <<R1 as DimName>::Value as Mul<<C1 as DimName>::Value>>::Output
[src]

type Output = ArrayStorage<N, R2, C2>

impl<N, R1, C2> ReshapableStorage<N, R1, Dynamic, Dynamic, C2> for VecStorage<N, R1, Dynamic> where
    N: Scalar,
    C2: Dim,
    R1: DimName
[src]

type Output = VecStorage<N, Dynamic, C2>

impl<N, R1, R2> ReshapableStorage<N, R1, Dynamic, R2, Dynamic> for VecStorage<N, R1, Dynamic> where
    N: Scalar,
    R1: DimName,
    R2: DimName
[src]

type Output = VecStorage<N, R2, Dynamic>

Loading content...