Operator_plus


Functions

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

Function Documentation

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

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

Definition at line 26 of file operator_plus.hpp.

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

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

Base + scalar.

Definition at line 40 of file operator_plus.hpp.

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

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

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

op + scalar, level 2

Definition at line 54 of file operator_plus.hpp.

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

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

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

scalar + Base

Definition at line 68 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref().

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

template<typename T1 , typename T2 >
arma_inline const Glue<T1, Op<T2,op_diagmat>, glue_plus_diag> operator+ ( const Base< typename T2::elem_type, T1 > &  X,
const Op< T2, op_diagmat > &  Y 
) [inline]

Base + diagmat.

Definition at line 82 of file operator_plus.hpp.

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

00083   {
00084   arma_extra_debug_sigprint();
00085   
00086   return Glue<T1, Op<T2,op_diagmat>, glue_plus_diag>(X.get_ref(), Y);
00087   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, Op<T2,op_diagmat>, glue_plus_diag> operator+ ( const Op< T2, op_diagmat > &  Y,
const Base< typename T1::elem_type, T1 > &  X 
) [inline]

diagmat + Base

Definition at line 96 of file operator_plus.hpp.

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

00097   {
00098   arma_extra_debug_sigprint();
00099   
00100   return Glue<T1, Op<T2,op_diagmat>, glue_plus_diag>(X.get_ref(), Y);  // NOTE: order is swapped
00101   }

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

Base + Base.

Definition at line 116 of file operator_plus.hpp.

References glue_plus::apply_mixed(), promote_type< T1, T2 >::check(), Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00117   {
00118   arma_extra_debug_sigprint();
00119   
00120   promote_type<eT1,eT2>::check();
00121 
00122   const unwrap<T1> tmp1(X.get_ref());
00123   const unwrap<T2> tmp2(Y.get_ref());
00124   
00125   const Mat<eT1>& A = tmp1.M;
00126   const Mat<eT2>& B = tmp2.M;
00127   
00128   Mat< typename promote_type<eT1,eT2>::result > out;
00129   glue_plus::apply_mixed(out, A, B);
00130   
00131   return out;
00132   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< std::complex< double >, T1 > &  X,
const Base< std::complex< double >, T2 > &  Y 
) [inline]

Definition at line 146 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00147   {
00148   arma_extra_debug_sigprint();
00149   
00150   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00151   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< std::complex< float >, T1 > &  X,
const Base< std::complex< float >, T2 > &  Y 
) [inline]

Definition at line 159 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00160   {
00161   arma_extra_debug_sigprint();
00162   
00163   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00164   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< double, T1 > &  X,
const Base< double, T2 > &  Y 
) [inline]

Definition at line 172 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00173   {
00174   arma_extra_debug_sigprint();
00175   
00176   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00177   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< float, T1 > &  X,
const Base< float, T2 > &  Y 
) [inline]

Definition at line 185 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00186   {
00187   arma_extra_debug_sigprint();
00188   
00189   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00190   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< s32, T1 > &  X,
const Base< s32, T2 > &  Y 
) [inline]

Definition at line 198 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00199   {
00200   arma_extra_debug_sigprint();
00201   
00202   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00203   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< u32, T1 > &  X,
const Base< u32, T2 > &  Y 
) [inline]

Definition at line 211 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00212   {
00213   arma_extra_debug_sigprint();
00214   
00215   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00216   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< s16, T1 > &  X,
const Base< s16, T2 > &  Y 
) [inline]

Definition at line 224 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00225   {
00226   arma_extra_debug_sigprint();
00227   
00228   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00229   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< u16, T1 > &  X,
const Base< u16, T2 > &  Y 
) [inline]

Definition at line 237 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00238   {
00239   arma_extra_debug_sigprint();
00240   
00241   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00242   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< s8, T1 > &  X,
const Base< s8, T2 > &  Y 
) [inline]

Definition at line 250 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00251   {
00252   arma_extra_debug_sigprint();
00253   
00254   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00255   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator+ ( const Base< u8, T1 > &  X,
const Base< u8, T2 > &  Y 
) [inline]

Definition at line 263 of file operator_plus.hpp.

References Base< T1::elem_type, Op< T1, op_type > >::get_ref(), and Base< elem_type, derived >::get_ref().

00264   {
00265   arma_extra_debug_sigprint();
00266   
00267   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.get_ref());
00268   }