Classes | Functions

Glue_relational

//! More...

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)

Detailed Description

//!


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().

  {
  arma_extra_debug_sigprint();
  
  const Proxy<T1> A(X.A);
  const Proxy<T2> B(X.B);
  
  arma_debug_assert_same_size(A, B, "operator<");
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32  n_elem  = A.n_elem;
        u32* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = (A[i] < B[i]) ? u32(1) : u32(0);
    }
  
  }

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().

  {
  arma_extra_debug_sigprint();
  
  const Proxy<T1> A(X.A);
  const Proxy<T2> B(X.B);
  
  arma_debug_assert_same_size(A, B, "operator>");
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32  n_elem  = A.n_elem;
        u32* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = (A[i] > B[i]) ? u32(1) : u32(0);
    }
  
  }

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().

  {
  arma_extra_debug_sigprint();
  
  const Proxy<T1> A(X.A);
  const Proxy<T2> B(X.B);
  
  arma_debug_assert_same_size(A, B, "operator<=");
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32  n_elem  = A.n_elem;
        u32* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = (A[i] <= B[i]) ? u32(1) : u32(0);
    }
  
  }

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().

  {
  arma_extra_debug_sigprint();
  
  const Proxy<T1> A(X.A);
  const Proxy<T2> B(X.B);
  
  arma_debug_assert_same_size(A, B, "operator>=");
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32  n_elem  = A.n_elem;
        u32* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = (A[i] >= B[i]) ? u32(1) : u32(0);
    }
  
  }

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().

  {
  arma_extra_debug_sigprint();
  
  const Proxy<T1> A(X.A);
  const Proxy<T2> B(X.B);
  
  arma_debug_assert_same_size(A, B, "operator==");
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32  n_elem  = A.n_elem;
        u32* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = (A[i] == B[i]) ? u32(1) : u32(0);
    }
  
  }

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().

  {
  arma_extra_debug_sigprint();
  
  const Proxy<T1> A(X.A);
  const Proxy<T2> B(X.B);
  
  arma_debug_assert_same_size(A, B, "operator!=");
  
  out.set_size(A.n_rows, A.n_cols);
  
  const u32  n_elem  = A.n_elem;
        u32* out_mem = out.memptr();
  
  for(u32 i=0; i<n_elem; ++i)
    {
    out_mem[i] = (A[i] != B[i]) ? u32(1) : u32(0);
    }
  
  }