inline typename get_pod_type<eT>::result op_var::direct_var(const subview_col<eT>& X, const u32 norm_type) { arma_extra_debug_sigprint(); return op_var::direct_var(X.colptr(0), X.n_elem, norm_type); }
arma_pure arma_warn_unused inline eT accu(const subview_col<eT>& S) { arma_extra_debug_sigprint(); return (S.n_elem > 0) ? arrayops::accumulate( S.colptr(0), S.n_rows ) : eT(0); }
arma_pure arma_warn_unused inline eT accu(const subview_col<eT>& X) { arma_extra_debug_sigprint(); return arrayops::accumulate( X.colptr(0), X.n_rows ); }
inline arma_warn_unused eT mean(const subview_col<eT>& A) { arma_extra_debug_sigprint(); arma_debug_check( (A.n_elem == 0), "mean(): given object has no elements" ); return op_mean::direct_mean(A.colptr(0), A.n_rows); }
inline arma_warn_unused typename get_pod_type<eT>::result var(const subview_col<eT>& A, const u32 norm_type = 0) { arma_extra_debug_sigprint(); arma_debug_check( (A.n_elem == 0), "var(): given object has no elements" ); return op_var::direct_var(A.colptr(0), A.n_rows, norm_type); }
inline eT prod(const subview_col<eT>& S) { arma_extra_debug_sigprint(); arma_debug_check( (S.n_elem < 1), "prod(): given object has no elements" ); const eT* S_colptr = S.colptr(0); const u32 n_rows = S.n_rows; eT val = S_colptr[0]; for(u32 row=1; row<n_rows; ++row) { val *= S_colptr[row]; } return val; }
inline partial_unwrap(const subview_col<eT>& A) : M( const_cast<eT*>( A.colptr(0) ), A.n_rows, 1, false, false ) { arma_extra_debug_sigprint(); }
inline unwrap_check(const subview_col<eT>& A, const Mat<eT>& B) : M( const_cast<eT*>( A.colptr(0) ), A.n_rows, 1, (&(A.m) == &B), false ) { arma_extra_debug_sigprint(); }