Glue_relational

Classes

class  glue_rel_lt
class  glue_rel_gt
class  glue_rel_lteq
class  glue_rel_gteq
class  glue_rel_eq
class  glue_rel_noteq

Functions

template<typename T1 , typename T2 >
static void glue_rel_lt::apply (Mat< u32 > &out, const mtGlue< u32, T1, T2, glue_rel_lt > &X)
template<typename T1 , typename T2 >
static void glue_rel_gt::apply (Mat< u32 > &out, const mtGlue< u32, T1, T2, glue_rel_gt > &X)
template<typename T1 , typename T2 >
static void glue_rel_lteq::apply (Mat< u32 > &out, const mtGlue< u32, T1, T2, glue_rel_lteq > &X)
template<typename T1 , typename T2 >
static void glue_rel_gteq::apply (Mat< u32 > &out, const mtGlue< u32, T1, T2, glue_rel_gteq > &X)
template<typename T1 , typename T2 >
static void glue_rel_eq::apply (Mat< u32 > &out, const mtGlue< u32, T1, T2, glue_rel_eq > &X)
template<typename T1 , typename T2 >
static void glue_rel_noteq::apply (Mat< u32 > &out, const mtGlue< u32, T1, T2, glue_rel_noteq > &X)

Function Documentation

template<typename T1 , typename T2 >
void glue_rel_lt::apply ( Mat< u32 > &  out,
const mtGlue< u32, T1, T2, glue_rel_lt > &  X 
) [inline, static, inherited]

Definition at line 26 of file glue_relational_meat.hpp.

References mtGlue< out_eT, T1, T2, glue_type >::A, mtGlue< out_eT, T1, T2, glue_type >::B, Mat< eT >::memptr(), and Mat< eT >::set_size().

00030   {
00031   arma_extra_debug_sigprint();
00032   
00033   const Proxy<T1> A(X.A);
00034   const Proxy<T2> B(X.B);
00035   
00036   arma_debug_assert_same_size(A, B, "operator<");
00037   
00038   out.set_size(A.n_rows, A.n_cols);
00039   
00040   const u32  n_elem  = A.n_elem;
00041         u32* out_mem = out.memptr();
00042   
00043   for(u32 i=0; i<n_elem; ++i)
00044     {
00045     out_mem[i] = (A[i] < B[i]) ? u32(1) : u32(0);
00046     }
00047   
00048   }

template<typename T1 , typename T2 >
void glue_rel_gt::apply ( Mat< u32 > &  out,
const mtGlue< u32, T1, T2, glue_rel_gt > &  X 
) [inline, static, inherited]

Definition at line 56 of file glue_relational_meat.hpp.

References mtGlue< out_eT, T1, T2, glue_type >::A, mtGlue< out_eT, T1, T2, glue_type >::B, Mat< eT >::memptr(), and Mat< eT >::set_size().

00060   {
00061   arma_extra_debug_sigprint();
00062   
00063   const Proxy<T1> A(X.A);
00064   const Proxy<T2> B(X.B);
00065   
00066   arma_debug_assert_same_size(A, B, "operator>");
00067   
00068   out.set_size(A.n_rows, A.n_cols);
00069   
00070   const u32  n_elem  = A.n_elem;
00071         u32* out_mem = out.memptr();
00072   
00073   for(u32 i=0; i<n_elem; ++i)
00074     {
00075     out_mem[i] = (A[i] > B[i]) ? u32(1) : u32(0);
00076     }
00077   
00078   }

template<typename T1 , typename T2 >
void glue_rel_lteq::apply ( Mat< u32 > &  out,
const mtGlue< u32, T1, T2, glue_rel_lteq > &  X 
) [inline, static, inherited]

Definition at line 86 of file glue_relational_meat.hpp.

References mtGlue< out_eT, T1, T2, glue_type >::A, mtGlue< out_eT, T1, T2, glue_type >::B, Mat< eT >::memptr(), and Mat< eT >::set_size().

00090   {
00091   arma_extra_debug_sigprint();
00092   
00093   const Proxy<T1> A(X.A);
00094   const Proxy<T2> B(X.B);
00095   
00096   arma_debug_assert_same_size(A, B, "operator<=");
00097   
00098   out.set_size(A.n_rows, A.n_cols);
00099   
00100   const u32  n_elem  = A.n_elem;
00101         u32* out_mem = out.memptr();
00102   
00103   for(u32 i=0; i<n_elem; ++i)
00104     {
00105     out_mem[i] = (A[i] <= B[i]) ? u32(1) : u32(0);
00106     }
00107   
00108   }

template<typename T1 , typename T2 >
void glue_rel_gteq::apply ( Mat< u32 > &  out,
const mtGlue< u32, T1, T2, glue_rel_gteq > &  X 
) [inline, static, inherited]

Definition at line 116 of file glue_relational_meat.hpp.

References mtGlue< out_eT, T1, T2, glue_type >::A, mtGlue< out_eT, T1, T2, glue_type >::B, Mat< eT >::memptr(), and Mat< eT >::set_size().

00120   {
00121   arma_extra_debug_sigprint();
00122   
00123   const Proxy<T1> A(X.A);
00124   const Proxy<T2> B(X.B);
00125   
00126   arma_debug_assert_same_size(A, B, "operator>=");
00127   
00128   out.set_size(A.n_rows, A.n_cols);
00129   
00130   const u32  n_elem  = A.n_elem;
00131         u32* out_mem = out.memptr();
00132   
00133   for(u32 i=0; i<n_elem; ++i)
00134     {
00135     out_mem[i] = (A[i] >= B[i]) ? u32(1) : u32(0);
00136     }
00137   
00138   }

template<typename T1 , typename T2 >
void glue_rel_eq::apply ( Mat< u32 > &  out,
const mtGlue< u32, T1, T2, glue_rel_eq > &  X 
) [inline, static, inherited]

Definition at line 146 of file glue_relational_meat.hpp.

References mtGlue< out_eT, T1, T2, glue_type >::A, mtGlue< out_eT, T1, T2, glue_type >::B, Mat< eT >::memptr(), and Mat< eT >::set_size().

00150   {
00151   arma_extra_debug_sigprint();
00152   
00153   const Proxy<T1> A(X.A);
00154   const Proxy<T2> B(X.B);
00155   
00156   arma_debug_assert_same_size(A, B, "operator==");
00157   
00158   out.set_size(A.n_rows, A.n_cols);
00159   
00160   const u32  n_elem  = A.n_elem;
00161         u32* out_mem = out.memptr();
00162   
00163   for(u32 i=0; i<n_elem; ++i)
00164     {
00165     out_mem[i] = (A[i] == B[i]) ? u32(1) : u32(0);
00166     }
00167   
00168   }

template<typename T1 , typename T2 >
void glue_rel_noteq::apply ( Mat< u32 > &  out,
const mtGlue< u32, T1, T2, glue_rel_noteq > &  X 
) [inline, static, inherited]

Definition at line 176 of file glue_relational_meat.hpp.

References mtGlue< out_eT, T1, T2, glue_type >::A, mtGlue< out_eT, T1, T2, glue_type >::B, Mat< eT >::memptr(), and Mat< eT >::set_size().

00180   {
00181   arma_extra_debug_sigprint();
00182   
00183   const Proxy<T1> A(X.A);
00184   const Proxy<T2> B(X.B);
00185   
00186   arma_debug_assert_same_size(A, B, "operator!=");
00187   
00188   out.set_size(A.n_rows, A.n_cols);
00189   
00190   const u32  n_elem  = A.n_elem;
00191         u32* out_mem = out.memptr();
00192   
00193   for(u32 i=0; i<n_elem; ++i)
00194     {
00195     out_mem[i] = (A[i] != B[i]) ? u32(1) : u32(0);
00196     }
00197   
00198   }