arma_inline const eOpCube<T1, eop_pow> pow(const BaseCube<typename T1::elem_type,T1>& A, const typename T1::elem_type exponent) { arma_extra_debug_sigprint(); return eOpCube<T1, eop_pow>(A.get_ref(), exponent); }
arma_inline const eOpCube<T1, eop_conj> conj(const BaseCube<std::complex<typename T1::pod_type>,T1>& A) { arma_extra_debug_sigprint(); return eOpCube<T1, eop_conj>(A.get_ref()); }
arma_inline const eOpCube<T1, eop_atan> atan(const BaseCube<typename T1::elem_type,T1>& A) { arma_extra_debug_sigprint(); return eOpCube<T1, eop_atan>(A.get_ref()); }
inline const mtOpCube<typename T1::pod_type, T1, op_real> real(const BaseCube<std::complex<typename T1::pod_type>, T1>& X) { arma_extra_debug_sigprint(); return mtOpCube<typename T1::pod_type, T1, op_real>( X.get_ref() ); }
inline const OpCube<T1, op_resize> resize(const BaseCube<typename T1::elem_type,T1>& X, const uword in_n_rows, const uword in_n_cols, const uword in_n_slices) { arma_extra_debug_sigprint(); return OpCube<T1, op_resize>(X.get_ref(), in_n_rows, in_n_cols, in_n_slices); }
OpCube<T1, op_type>::OpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const uword in_aux_uword_a, const uword in_aux_uword_b, const uword in_aux_uword_c) : m(in_m.get_ref()) , aux_uword_a(in_aux_uword_a) , aux_uword_b(in_aux_uword_b) , aux_uword_c(in_aux_uword_c) { arma_extra_debug_sigprint(); }
eOpCube<T1, eop_type>::eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const typename T1::elem_type in_aux, const u32 in_aux_u32_a, const u32 in_aux_u32_b, const u32 in_aux_u32_c) : P (in_m.get_ref()) , aux (in_aux) , aux_u32_a (in_aux_u32_a) , aux_u32_b (in_aux_u32_b) , aux_u32_c (in_aux_u32_c) { arma_extra_debug_sigprint(); }
arma_warn_unused arma_inline const eOpCube<T1, eop_trunc_log> trunc_log(const BaseCube<typename T1::elem_type,T1>& A) { arma_extra_debug_sigprint(); return eOpCube<T1, eop_trunc_log>(A.get_ref()); }
inline const mtOpCube<uword, T1, op_rel_gteq_post> operator>= (const BaseCube<typename arma_not_cx<typename T1::elem_type>::result,T1>& X, const typename arma_not_cx<typename T1::elem_type>::result val) { arma_extra_debug_sigprint(); return mtOpCube<uword, T1, op_rel_gteq_post>(X.get_ref(), val); }
inline const mtOpCube<u32, T1, op_rel_lteq_pre> operator<= (const typename arma_not_cx<typename T1::elem_type>::result val, const BaseCube<typename arma_not_cx<typename T1::elem_type>::result,T1>& X) { arma_extra_debug_sigprint(); return mtOpCube<u32, T1, op_rel_lteq_pre>(X.get_ref(), val); }
inline const mtOpCube<uword, T1, op_rel_noteq> operator!= (const BaseCube<typename T1::elem_type,T1>& X, const typename T1::elem_type val) { arma_extra_debug_sigprint(); return mtOpCube<uword, T1, op_rel_noteq>(X.get_ref(), val); }
inline const OpCube<T1, op_reshape_ext> reshape(const BaseCube<typename T1::elem_type,T1>& X, const SizeCube& s, const uword dim = 0) { arma_extra_debug_sigprint(); arma_debug_check( (dim > 1), "reshape(): parameter 'dim' must be 0 or 1" ); return OpCube<T1, op_reshape_ext>(X.get_ref(), s.n_rows, s.n_cols, s.n_slices, dim, 'j'); }
inline const OpCube<T1, op_reshape> reshape(const BaseCube<typename T1::elem_type,T1>& X, const uword in_n_rows, const uword in_n_cols, const uword in_n_slices, const uword dim = 0) { arma_extra_debug_sigprint(); arma_debug_check( (dim > 1), "reshape(): dim must be 0 or 1"); return OpCube<T1, op_reshape>(X.get_ref(), in_n_rows, in_n_cols, in_n_slices, dim, 'j'); }
inline const mtGlueCube<typename promote_type<typename T1::elem_type, typename T2::elem_type>::result, T1, T2, glue_mixed_minus> operator- ( const BaseCube< typename force_different_type<typename T1::elem_type, typename T2::elem_type>::T1_result, T1>& X, const BaseCube< typename force_different_type<typename T1::elem_type, typename T2::elem_type>::T2_result, T2>& Y ) { arma_extra_debug_sigprint(); typedef typename T1::elem_type eT1; typedef typename T2::elem_type eT2; typedef typename promote_type<eT1,eT2>::result out_eT; promote_type<eT1,eT2>::check(); return mtGlueCube<out_eT, T1, T2, glue_mixed_minus>( X.get_ref(), Y.get_ref() ); }
inline const mtOpCube<typename T1::pod_type, T1, op_abs> abs(const BaseCube< std::complex<typename T1::pod_type>,T1>& X, const typename arma_cx_only<typename T1::elem_type>::result* junk = 0) { arma_extra_debug_sigprint(); arma_ignore(junk); return mtOpCube<typename T1::pod_type, T1, op_abs>( X.get_ref() ); }
inline const GenCube<typename T1::pod_type, gen_zeros> imag(const BaseCube<typename T1::pod_type,T1>& X) { arma_extra_debug_sigprint(); const ProxyCube<T1> A(X.get_ref()); return GenCube<typename T1::pod_type, gen_zeros>(A.get_n_rows(), A.get_n_cols(), A.get_n_slices()); }
arma_inline const eOpCube<T1, eop_abs> abs(const BaseCube<typename T1::elem_type,T1>& X, const typename arma_not_cx<typename T1::elem_type>::result* junk = 0) { arma_extra_debug_sigprint(); arma_ignore(junk); return eOpCube<T1, eop_abs>(X.get_ref()); }
arma_hot arma_warn_unused inline typename T1::elem_type accu(const BaseCube<typename T1::elem_type,T1>& X) { arma_extra_debug_sigprint(); typedef typename T1::elem_type eT; typedef typename ProxyCube<T1>::ea_type ea_type; const ProxyCube<T1> A(X.get_ref()); if(ProxyCube<T1>::prefer_at_accessor == false) { ea_type P = A.get_ea(); const uword n_elem = A.get_n_elem(); eT val1 = eT(0); eT val2 = eT(0); uword i,j; for(i=0, j=1; j<n_elem; i+=2, j+=2) { val1 += P[i]; val2 += P[j]; } if(i < n_elem) { val1 += P[i]; } return val1 + val2; } else { const uword n_rows = A.get_n_rows(); const uword n_cols = A.get_n_cols(); const uword n_slices = A.get_n_slices(); eT val = eT(0); for(uword slice=0; slice<n_slices; ++slice) for(uword col=0; col<n_cols; ++col) for(uword row=0; row<n_rows; ++row) { val += A.at(row,col,slice); } return val; } }
arma_warn_unused inline uword size(const BaseCube<typename T1::elem_type, T1>& X, const uword dim) { arma_extra_debug_sigprint(); const ProxyCube<T1> P(X.get_ref()); return SizeCube( P.get_n_rows(), P.get_n_cols(), P.get_n_slices() )( dim ); }
arma_inline const eOpCube<T1, eop_neg> operator- ( const BaseCube<typename T1::elem_type,T1>& X ) { arma_extra_debug_sigprint(); return eOpCube<T1, eop_neg>(X.get_ref()); }
arma_inline const OpCube<T1, op_min> min ( const BaseCube<typename T1::elem_type, T1>& X, const uword dim = 0 ) { arma_extra_debug_sigprint(); return OpCube<T1, op_min>(X.get_ref(), dim, 0); }
arma_inline const eOpCube<T1, eop_scalar_times> operator* ( const typename T1::elem_type k, const BaseCube<typename T1::elem_type,T1>& X ) { arma_extra_debug_sigprint(); return eOpCube<T1, eop_scalar_times>(X.get_ref(), k); }
arma_inline const eOpCube<T1, eop_scalar_minus_post> operator- ( const BaseCube<typename T1::elem_type,T1>& X, const typename T1::elem_type k ) { arma_extra_debug_sigprint(); return eOpCube<T1, eop_scalar_minus_post>(X.get_ref(), k); }
arma_warn_unused arma_inline const mtOpCube<uword, T1, op_index_max> index_max ( const BaseCube<typename T1::elem_type, T1>& X, const uword dim = 0 ) { arma_extra_debug_sigprint(); return mtOpCube<uword, T1, op_index_max>(X.get_ref(), dim, 0, 0); }
inline arma_warn_unused bool is_finite(const BaseCube<typename T1::elem_type,T1>& X) { arma_extra_debug_sigprint(); typedef typename T1::elem_type eT; const unwrap_cube<T1> tmp(X.get_ref()); const Cube<eT>& A = tmp.M; return A.is_finite(); }
inline uvec find_nonfinite(const BaseCube<typename T1::elem_type,T1>& X) { arma_extra_debug_sigprint(); typedef typename T1::elem_type eT; const unwrap_cube<T1> tmp(X.get_ref()); const Mat<eT> R( const_cast< eT* >(tmp.M.memptr()), tmp.M.n_elem, 1, false ); return find_nonfinite(R); }
inline uvec find(const BaseCube<typename T1::elem_type,T1>& X, const uword k, const char* direction = "first") { arma_extra_debug_sigprint(); typedef typename T1::elem_type eT; const unwrap_cube<T1> tmp(X.get_ref()); const Mat<eT> R( const_cast< eT* >(tmp.M.memptr()), tmp.M.n_elem, 1, false ); return find(R, k, direction); }
inline void op_vectorise_cube_col::apply(Mat<typename T1::elem_type>& out, const BaseCube<typename T1::elem_type, T1>& in) { arma_extra_debug_sigprint(); typedef typename T1::elem_type eT; if(is_same_type< T1, subview_cube<eT> >::yes) { op_vectorise_cube_col::apply_subview(out, reinterpret_cast< const subview_cube<eT>& >(in.get_ref())); } else { const ProxyCube<T1> P(in.get_ref()); op_vectorise_cube_col::apply_proxy(out, P); } }
arma_inline const mtOpCube<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_times> operator* ( const std::complex<typename T1::pod_type>& k, const BaseCube<typename T1::pod_type, T1>& X ) { arma_extra_debug_sigprint(); return mtOpCube<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_times>('j', X.get_ref(), k); }
OpCube<T1, op_type>::OpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const typename T1::elem_type in_aux) : m(in_m.get_ref()) , aux(in_aux) { arma_extra_debug_sigprint(); }