Operator_minus


Functions

template<typename T1 >
arma_inline const Op< T1, op_negoperator- (const Base< typename T1::elem_type, T1 > &X)
 unary -
template<typename T1 >
arma_inline const T1 & operator- (const Op< T1, op_neg > &X)
 cancellation of two consecutive negations: -(-T1)
template<typename T1 >
arma_inline const Op< T1,
op_scalar_minus_post
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_minus_pre
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, T2,
glue_plus
operator- (const Base< typename T1::elem_type, T1 > &X, const Base< typename T1::elem_type, Op< T2, op_neg > > &Y)
 Base - - Base = Base + Base.
template<typename T1 , typename T2 >
arma_inline const Glue< T1, Op
< T2, op_diagmat >
, glue_minus_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< Op< T1,
op_diagmat >, T2,
glue_minus_diag
operator- (const Op< T1, op_diagmat > &X, const Base< typename T1::elem_type, T2 > &Y)
 diagmat - Base
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_plus
operator- (const Base< typename T2::elem_type, T1 > &X, const Op< T2, op_neg > &Y)
 Base - Op<T2,op_neg> = Base + T2.
template<typename T1 , typename T2 >
arma_inline const Glue< Op< T1,
op_diagmat >, T2,
glue_plus_diag
operator- (const Base< typename T1::elem_type, Op< T1, op_diagmat > > &X, const Base< typename T1::elem_type, Op< T2, op_neg > > &Y)
 diagmat - Op<T2,op_neg> = diagmat + T2
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_minus
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_minus
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_minus
operator- (const Base< double, T1 > &X, const Base< double, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_minus
operator- (const Base< float, T1 > &X, const Base< float, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_minus
operator- (const Base< s32, T1 > &X, const Base< s32, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_minus
operator- (const Base< u32, T1 > &X, const Base< u32, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_minus
operator- (const Base< s16, T1 > &X, const Base< s16, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_minus
operator- (const Base< u16, T1 > &X, const Base< u16, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_minus
operator- (const Base< s8, T1 > &X, const Base< s8, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_minus
operator- (const Base< u8, T1 > &X, const Base< u8, T2 > &Y)

Function Documentation

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

unary -

Definition at line 26 of file operator_minus.hpp.

00027   {
00028   arma_extra_debug_sigprint();
00029   
00030   return Op<T1,op_neg>(X.get_ref());
00031   }

template<typename T1 >
arma_inline const T1& operator- ( const Op< T1, op_neg > &  X  )  [inline]

cancellation of two consecutive negations: -(-T1)

Definition at line 40 of file operator_minus.hpp.

00041   {
00042   arma_extra_debug_sigprint();
00043   
00044   return X.m;
00045   }

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

Base - scalar.

Definition at line 54 of file operator_minus.hpp.

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

00055   {
00056   arma_extra_debug_sigprint();
00057   
00058   return Op<T1, op_scalar_minus_post>(X.get_ref(), k);
00059   }

template<typename T1 >
arma_inline const Op<T1, op_scalar_minus_pre> 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_minus.hpp.

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

00069   {
00070   arma_extra_debug_sigprint();
00071   
00072   return Op<T1, op_scalar_minus_pre>(X.get_ref(), k);
00073   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator- ( const Base< typename T1::elem_type, T1 > &  X,
const Base< typename T1::elem_type, Op< T2, op_neg > > &  Y 
) [inline]

Base - - Base = Base + Base.

Definition at line 82 of file operator_minus.hpp.

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

00086   {
00087   arma_extra_debug_sigprint();
00088   
00089   const T1& A = X.get_ref();
00090   const T2& B = (Y.get_ref()).m;
00091   
00092   return Glue<T1, T2, glue_plus>(A,B);
00093   }

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

Base - diagmat.

Definition at line 102 of file operator_minus.hpp.

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

00103   {
00104   arma_extra_debug_sigprint();
00105   
00106   return Glue<T1, Op<T1,op_diagmat>, glue_minus_diag>(X.get_ref(), Y);
00107   }

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

diagmat - Base

Definition at line 116 of file operator_minus.hpp.

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

00117   {
00118   arma_extra_debug_sigprint();
00119   
00120   return Glue< Op<T1,op_diagmat>, T2, glue_minus_diag>(X, Y.get_ref());
00121   }

template<typename T1 , typename T2 >
arma_inline const Glue<T1, T2, glue_plus> operator- ( const Base< typename T2::elem_type, T1 > &  X,
const Op< T2, op_neg > &  Y 
) [inline]

Base - Op<T2,op_neg> = Base + T2.

Definition at line 130 of file operator_minus.hpp.

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

00131   {
00132   arma_extra_debug_sigprint();
00133   
00134   return Glue<T1, T2, glue_plus>(X.get_ref(), Y.m);
00135   }

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

diagmat - Op<T2,op_neg> = diagmat + T2

Definition at line 144 of file operator_minus.hpp.

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

00148   {
00149   arma_extra_debug_sigprint();
00150   
00151   return Glue< Op<T1,op_diagmat>, T2, glue_plus_diag>(X.get_ref(), (Y.get_ref()).m);
00152   }

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 167 of file operator_minus.hpp.

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

00168   {
00169   arma_extra_debug_sigprint();
00170   
00171   promote_type<eT1,eT2>::check();
00172   
00173   const unwrap<T1> tmp1(X.get_ref());
00174   const unwrap<T2> tmp2(Y.get_ref());
00175   
00176   const Mat<eT1>& A = tmp1.M;
00177   const Mat<eT2>& B = tmp2.M;
00178   
00179   Mat< typename promote_type<eT1,eT2>::result > out;
00180   glue_minus::apply_mixed(out, A, B);
00181   
00182   return out;
00183   }

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

Definition at line 197 of file operator_minus.hpp.

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

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

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

Definition at line 210 of file operator_minus.hpp.

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

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

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

Definition at line 223 of file operator_minus.hpp.

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

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

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

Definition at line 236 of file operator_minus.hpp.

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

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

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

Definition at line 249 of file operator_minus.hpp.

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

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

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

Definition at line 262 of file operator_minus.hpp.

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

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

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

Definition at line 275 of file operator_minus.hpp.

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

00276   {
00277   arma_extra_debug_sigprint();
00278   
00279   return Glue<T1, T2, glue_minus>(X.get_ref(), Y.get_ref());
00280   }

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

Definition at line 288 of file operator_minus.hpp.

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

00289   {
00290   arma_extra_debug_sigprint();
00291   
00292   return Glue<T1, T2, glue_minus>(X.get_ref(), Y.get_ref());
00293   }

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

Definition at line 301 of file operator_minus.hpp.

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

00302   {
00303   arma_extra_debug_sigprint();
00304   
00305   return Glue<T1, T2, glue_minus>(X.get_ref(), Y.get_ref());
00306   }

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

Definition at line 314 of file operator_minus.hpp.

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

00315   {
00316   arma_extra_debug_sigprint();
00317   
00318   return Glue<T1, T2, glue_minus>(X.get_ref(), Y.get_ref());
00319   }