Operator_cube_plus

Functions

template<typename T1 >
arma_inline const BaseCube
< typename T1::elem_type, T1 > & 
operator+ (const BaseCube< typename T1::elem_type, T1 > &X)
 unary plus operation (does nothing, but is required for completeness)
template<typename T1 >
arma_inline const OpCube< T1,
op_scalar_plus
operator+ (const BaseCube< typename T1::elem_type, T1 > &X, const typename T1::elem_type k)
 Base + scalar.
template<typename T1 >
arma_inline const OpCube< T1,
op_scalar_plus
operator+ (const OpCube< T1, op_scalar_plus > &X, const typename T1::elem_type k)
 op + scalar, level 2
template<typename T1 >
arma_inline const OpCube< T1,
op_scalar_plus
operator+ (const typename T1::elem_type k, const BaseCube< typename T1::elem_type, T1 > &X)
 scalar + Base
template<typename eT1 , typename T1 , typename eT2 , typename T2 >
arma_inline Cube< typename
promote_type< eT1, eT2 >
::result > 
operator+ (const BaseCube< eT1, T1 > &X, const BaseCube< eT2, T2 > &Y)
 Base + Base.
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< std::complex< double >, T1 > &X, const BaseCube< std::complex< double >, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< std::complex< float >, T1 > &X, const BaseCube< std::complex< float >, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< double, T1 > &X, const BaseCube< double, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< float, T1 > &X, const BaseCube< float, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< s32, T1 > &X, const BaseCube< s32, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< u32, T1 > &X, const BaseCube< u32, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< s16, T1 > &X, const BaseCube< s16, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< u16, T1 > &X, const BaseCube< u16, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< s8, T1 > &X, const BaseCube< s8, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator+ (const BaseCube< u8, T1 > &X, const BaseCube< u8, T2 > &Y)

Function Documentation

template<typename T1 >
arma_inline const BaseCube<typename T1::elem_type,T1>& operator+ ( const BaseCube< typename T1::elem_type, T1 > &  X  )  [inline]

unary plus operation (does nothing, but is required for completeness)

Definition at line 26 of file operator_cube_plus.hpp.

00027   {
00028   arma_extra_debug_sigprint();
00029   
00030   return X;
00031   }

template<typename T1 >
arma_inline const OpCube<T1, op_scalar_plus> operator+ ( const BaseCube< typename T1::elem_type, T1 > &  X,
const typename T1::elem_type  k 
) [inline]

Base + scalar.

Definition at line 40 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00041   {
00042   arma_extra_debug_sigprint();
00043   
00044   return OpCube<T1, op_scalar_plus>(X.get_ref(), k);
00045   }

template<typename T1 >
arma_inline const OpCube<T1,op_scalar_plus> operator+ ( const OpCube< T1, op_scalar_plus > &  X,
const typename T1::elem_type  k 
) [inline]

op + scalar, level 2

Definition at line 54 of file operator_cube_plus.hpp.

References OpCube< T1, op_type >::aux, and OpCube< T1, op_type >::m.

00055   {
00056   arma_extra_debug_sigprint();
00057   
00058   return OpCube<T1, op_scalar_plus>(X.m, X.aux + k);
00059   }

template<typename T1 >
arma_inline const OpCube<T1, op_scalar_plus> operator+ ( const typename T1::elem_type  k,
const BaseCube< typename T1::elem_type, T1 > &  X 
) [inline]

scalar + Base

Definition at line 68 of file operator_cube_plus.hpp.

References BaseCube< T1::elem_type, OpCube< T1, op_type > >::get_ref().

00069   {
00070   arma_extra_debug_sigprint();
00071   
00072   return OpCube<T1, op_scalar_plus>(X.get_ref(), k);  // NOTE: order is swapped
00073   }

template<typename eT1 , typename T1 , typename eT2 , typename T2 >
arma_inline Cube<typename promote_type<eT1,eT2>::result> operator+ ( const BaseCube< eT1, T1 > &  X,
const BaseCube< eT2, T2 > &  Y 
) [inline]

Base + Base.

Definition at line 88 of file operator_cube_plus.hpp.

References glue_cube_plus::apply_mixed(), promote_type< T1, T2 >::check(), and BaseCube< elem_type, derived >::get_ref().

00089   {
00090   arma_extra_debug_sigprint();
00091   
00092   promote_type<eT1,eT2>::check();
00093 
00094   const unwrap_cube<T1> tmp1(X.get_ref());
00095   const unwrap_cube<T2> tmp2(Y.get_ref());
00096   
00097   const Cube<eT1>& A = tmp1.M;
00098   const Cube<eT2>& B = tmp2.M;
00099   
00100   Cube< typename promote_type<eT1,eT2>::result > out;
00101   glue_cube_plus::apply_mixed(out, A, B);
00102   
00103   return out;
00104   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< std::complex< double >, T1 > &  X,
const BaseCube< std::complex< double >, T2 > &  Y 
) [inline]

Definition at line 118 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00119   {
00120   arma_extra_debug_sigprint();
00121   
00122   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00123   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< std::complex< float >, T1 > &  X,
const BaseCube< std::complex< float >, T2 > &  Y 
) [inline]

Definition at line 131 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00132   {
00133   arma_extra_debug_sigprint();
00134   
00135   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00136   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< double, T1 > &  X,
const BaseCube< double, T2 > &  Y 
) [inline]

Definition at line 144 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00145   {
00146   arma_extra_debug_sigprint();
00147   
00148   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00149   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< float, T1 > &  X,
const BaseCube< float, T2 > &  Y 
) [inline]

Definition at line 157 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00158   {
00159   arma_extra_debug_sigprint();
00160   
00161   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00162   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< s32, T1 > &  X,
const BaseCube< s32, T2 > &  Y 
) [inline]

Definition at line 170 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00171   {
00172   arma_extra_debug_sigprint();
00173   
00174   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00175   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< u32, T1 > &  X,
const BaseCube< u32, T2 > &  Y 
) [inline]

Definition at line 183 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00184   {
00185   arma_extra_debug_sigprint();
00186   
00187   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00188   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< s16, T1 > &  X,
const BaseCube< s16, T2 > &  Y 
) [inline]

Definition at line 196 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00197   {
00198   arma_extra_debug_sigprint();
00199   
00200   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00201   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< u16, T1 > &  X,
const BaseCube< u16, T2 > &  Y 
) [inline]

Definition at line 209 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00210   {
00211   arma_extra_debug_sigprint();
00212   
00213   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00214   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< s8, T1 > &  X,
const BaseCube< s8, T2 > &  Y 
) [inline]

Definition at line 222 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00223   {
00224   arma_extra_debug_sigprint();
00225   
00226   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00227   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator+ ( const BaseCube< u8, T1 > &  X,
const BaseCube< u8, T2 > &  Y 
) [inline]

Definition at line 235 of file operator_cube_plus.hpp.

References BaseCube< elem_type, derived >::get_ref().

00236   {
00237   arma_extra_debug_sigprint();
00238   
00239   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.get_ref());
00240   }