Operator_cube_minus

Functions

template<typename T1 >
arma_inline const OpCube< T1,
op_neg
operator- (const BaseCube< typename T1::elem_type, T1 > &X)
 unary -
template<typename T1 >
arma_inline const T1 & operator- (const OpCube< T1, op_neg > &X)
 cancellation of two consecutive negations: -(-T1)
template<typename T1 >
arma_inline const OpCube< T1,
op_scalar_minus_post
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_minus_pre
operator- (const typename T1::elem_type k, const BaseCube< typename T1::elem_type, T1 > &X)
 scalar - Base
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator- (const BaseCube< typename T1::elem_type, T1 > &X, const BaseCube< typename T1::elem_type, OpCube< T2, op_neg > > &Y)
 Base - - Base = Base + Base.
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_plus
operator- (const BaseCube< typename T2::elem_type, T1 > &X, const OpCube< T2, op_neg > &Y)
 Base - OpCube<T2,op_neg> = Base + T2.
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_minus
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_minus
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_minus
operator- (const BaseCube< double, T1 > &X, const BaseCube< double, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_minus
operator- (const BaseCube< float, T1 > &X, const BaseCube< float, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_minus
operator- (const BaseCube< s32, T1 > &X, const BaseCube< s32, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_minus
operator- (const BaseCube< u32, T1 > &X, const BaseCube< u32, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_minus
operator- (const BaseCube< s16, T1 > &X, const BaseCube< s16, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_minus
operator- (const BaseCube< u16, T1 > &X, const BaseCube< u16, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_minus
operator- (const BaseCube< s8, T1 > &X, const BaseCube< s8, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const GlueCube< T1,
T2, glue_cube_minus
operator- (const BaseCube< u8, T1 > &X, const BaseCube< u8, T2 > &Y)

Function Documentation

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

unary -

Definition at line 26 of file operator_cube_minus.hpp.

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

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

cancellation of two consecutive negations: -(-T1)

Definition at line 40 of file operator_cube_minus.hpp.

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

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

Base - scalar.

Definition at line 54 of file operator_cube_minus.hpp.

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

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

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

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

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

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator- ( const BaseCube< typename T1::elem_type, T1 > &  X,
const BaseCube< typename T1::elem_type, OpCube< T2, op_neg > > &  Y 
) [inline]

Base - - Base = Base + Base.

Definition at line 82 of file operator_cube_minus.hpp.

References BaseCube< 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 GlueCube<T1, T2, glue_cube_plus>(A,B);
00093   }

template<typename T1 , typename T2 >
arma_inline const GlueCube<T1, T2, glue_cube_plus> operator- ( const BaseCube< typename T2::elem_type, T1 > &  X,
const OpCube< T2, op_neg > &  Y 
) [inline]

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

Definition at line 102 of file operator_cube_minus.hpp.

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

00103   {
00104   arma_extra_debug_sigprint();
00105   
00106   return GlueCube<T1, T2, glue_cube_plus>(X.get_ref(), Y.m);
00107   }

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 122 of file operator_cube_minus.hpp.

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

00123   {
00124   arma_extra_debug_sigprint();
00125   
00126   promote_type<eT1,eT2>::check();
00127   
00128   const unwrap_cube<T1> tmp1(X.get_ref());
00129   const unwrap_cube<T2> tmp2(Y.get_ref());
00130   
00131   const Cube<eT1>& A = tmp1.M;
00132   const Cube<eT2>& B = tmp2.M;
00133   
00134   Cube< typename promote_type<eT1,eT2>::result > out;
00135   glue_cube_minus::apply_mixed(out, A, B);
00136   
00137   return out;
00138   }

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

Definition at line 152 of file operator_cube_minus.hpp.

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

00153   {
00154   arma_extra_debug_sigprint();
00155   
00156   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00157   }

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

Definition at line 165 of file operator_cube_minus.hpp.

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

00166   {
00167   arma_extra_debug_sigprint();
00168   
00169   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00170   }

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

Definition at line 178 of file operator_cube_minus.hpp.

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

00179   {
00180   arma_extra_debug_sigprint();
00181   
00182   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00183   }

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

Definition at line 191 of file operator_cube_minus.hpp.

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

00192   {
00193   arma_extra_debug_sigprint();
00194   
00195   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00196   }

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

Definition at line 204 of file operator_cube_minus.hpp.

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

00205   {
00206   arma_extra_debug_sigprint();
00207   
00208   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00209   }

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

Definition at line 217 of file operator_cube_minus.hpp.

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

00218   {
00219   arma_extra_debug_sigprint();
00220   
00221   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00222   }

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

Definition at line 230 of file operator_cube_minus.hpp.

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

00231   {
00232   arma_extra_debug_sigprint();
00233   
00234   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00235   }

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

Definition at line 243 of file operator_cube_minus.hpp.

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

00244   {
00245   arma_extra_debug_sigprint();
00246   
00247   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00248   }

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

Definition at line 256 of file operator_cube_minus.hpp.

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

00257   {
00258   arma_extra_debug_sigprint();
00259   
00260   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00261   }

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

Definition at line 269 of file operator_cube_minus.hpp.

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

00270   {
00271   arma_extra_debug_sigprint();
00272   
00273   return GlueCube<T1, T2, glue_cube_minus>(X.get_ref(), Y.get_ref());
00274   }