Operator_div


Functions

template<typename T1 >
arma_inline const Op< T1,
op_scalar_div_post
operator/ (const Base< typename T1::elem_type, T1 > &X, const typename T1::elem_type k)
 Base / scalar.
template<typename eT >
arma_inline Mat< eT > operator/ (const Op< Mat< eT >, op_ones_full > &X, const eT k)
 Op<mat,op_ones_full> / scalar.
template<typename eT >
arma_inline Mat< eT > operator/ (const Op< Mat< eT >, op_ones_diag > &X, const eT k)
 Op<mat,op_ones_diag> / scalar.
template<typename T1 >
arma_inline const Op< T1,
op_scalar_div_pre
operator/ (const typename T1::elem_type k, const Base< typename T1::elem_type, T1 > &X)
 scalar / 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_div
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_div
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_div
operator/ (const Base< double, T1 > &X, const Base< double, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_div
operator/ (const Base< float, T1 > &X, const Base< float, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_div
operator/ (const Base< s32, T1 > &X, const Base< s32, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_div
operator/ (const Base< u32, T1 > &X, const Base< u32, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_div
operator/ (const Base< s16, T1 > &X, const Base< s16, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_div
operator/ (const Base< u16, T1 > &X, const Base< u16, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_div
operator/ (const Base< s8, T1 > &X, const Base< s8, T2 > &Y)
template<typename T1 , typename T2 >
arma_inline const Glue< T1, T2,
glue_div
operator/ (const Base< u8, T1 > &X, const Base< u8, T2 > &Y)

Function Documentation

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

Base / scalar.

Definition at line 26 of file operator_div.hpp.

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

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

template<typename eT >
arma_inline Mat<eT> operator/ ( const Op< Mat< eT >, op_ones_full > &  X,
const eT  k 
) [inline]

Op<mat,op_ones_full> / scalar.

Definition at line 40 of file operator_div.hpp.

References Op< T1, op_type >::aux_u32_a, Op< T1, op_type >::aux_u32_b, and Mat< eT >::fill().

00041   {
00042   arma_extra_debug_sigprint();
00043   
00044   Mat<eT> tmp(X.aux_u32_a, X.aux_u32_b);
00045   tmp.fill( eT(1)/k );
00046   
00047   return tmp;
00048   }

template<typename eT >
arma_inline Mat<eT> operator/ ( const Op< Mat< eT >, op_ones_diag > &  X,
const eT  k 
) [inline]

Op<mat,op_ones_diag> / scalar.

Definition at line 57 of file operator_div.hpp.

References Mat< eT >::at(), Op< T1, op_type >::aux_u32_a, Op< T1, op_type >::aux_u32_b, Mat< eT >::n_rows, and Mat< eT >::zeros().

00058   {
00059   arma_extra_debug_sigprint();
00060   
00061   Mat<eT> out;
00062   out.zeros(X.aux_u32_a, X.aux_u32_b);
00063   
00064   const eT inv_k = eT(1)/k;
00065   
00066   for(u32 i=0; i<out.n_rows; ++i)
00067     {
00068     out.at(i,i) = inv_k;
00069     }
00070   
00071   return out;
00072   }

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

scalar / Base

Definition at line 81 of file operator_div.hpp.

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

00082   {
00083   arma_extra_debug_sigprint();
00084   
00085   return Op<T1, op_scalar_div_pre>(X.get_ref(), k);
00086   }

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 101 of file operator_div.hpp.

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

00102   {
00103   arma_extra_debug_sigprint();
00104   
00105   promote_type<eT1,eT2>::check();
00106   
00107   const unwrap<T1> tmp1(X.get_ref());
00108   const unwrap<T2> tmp2(Y.get_ref());
00109   
00110   const Mat<eT1>& A = tmp1.M;
00111   const Mat<eT2>& B = tmp2.M;
00112   
00113   Mat< typename promote_type<eT1,eT2>::result > out;
00114   glue_div::apply_mixed(out, A, B);
00115   
00116   return out;
00117   }

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

Definition at line 131 of file operator_div.hpp.

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

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

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

Definition at line 144 of file operator_div.hpp.

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

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

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

Definition at line 157 of file operator_div.hpp.

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

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

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

Definition at line 170 of file operator_div.hpp.

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

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

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

Definition at line 183 of file operator_div.hpp.

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

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

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

Definition at line 196 of file operator_div.hpp.

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

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

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

Definition at line 209 of file operator_div.hpp.

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

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

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

Definition at line 222 of file operator_div.hpp.

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

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

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

Definition at line 235 of file operator_div.hpp.

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

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

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

Definition at line 248 of file operator_div.hpp.

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

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