Class custride

Inheritance Relationships

Base Type

Class Documentation

class custride : public cubase

Strided matrix.

Public Functions

inline custride()

Construct a new custride object.

inline custride(size_t rows, size_t cols, size_t strides, cubase::Init init = cubase::Init::Zero)

Construct a new custride object.

inline explicit custride(const arma::cube &src)

Construct a new custride object form armadillo cube.

inline custride(const custride &mat)

Copy construct a new custride object.

inline custride(custride &&mat)

Move construct a new custride object.

inline explicit custride(const cumat &mat)

Construct a new custride object from a cumat object. Each column will be a stride.

template<class L, class R>
inline custride(cuop_matmul<L, R, cutraits<L>::type, cutraits<R>::type> &&op)
custride(cuop_inv &&op)
inline virtual ~custride()

Destroy the custride object.

inline virtual size_t nbytes() const override

Get size in bytes Size in bytes.

inline size_t nrows() const
inline size_t ncols() const
inline size_t nstrides() const
inline size_t nstrideSize() const
inline size_t nstrideBytes() const
cuview<custride> strides(size_t start) const

Get a stride at start.

cuview<custride> strides(size_t start, size_t end) const

Get a range of strides.

const cuop_trans<custride> t() const

Transpose matrix.

cuop_inv inv(int *d_info) const

Inverse matrix. Will calculate instantly.

template<class R>
inline auto operator*(const R &right) const
template<class L, class R>
inline custride &operator=(cuop_matmul<L, R, cutraits<L>::type, cutraits<R>::type> &&op)
custride &operator=(cuop_inv &&op)

Public Static Attributes

static constexpr cuop::Op op = cuop::Op::Origin
static constexpr cubase::Type type = cubase::Type::Stride

Protected Attributes

size_t mRows = 0
size_t mCols = 0
size_t mStrides = 0