Classes | Functions

Op_diagvec

//! More...

Classes

class  op_diagvec

Functions

template<typename T1 >
static void op_diagvec::apply (Mat< typename T1::elem_type > &out, const Op< T1, op_diagvec > &X)

Detailed Description

//!


Function Documentation

template<typename T1 >
void op_diagvec::apply ( Mat< typename T1::elem_type > &  out,
const Op< T1, op_diagvec > &  X 
) [inline, static, inherited]

Definition at line 25 of file op_diagvec_meat.hpp.

References Op< T1, op_type >::aux_u32_a, Op< T1, op_type >::aux_u32_b, Mat< eT >::diag(), unwrap_check< T1 >::M, and Op< T1, op_type >::m.

  {
  arma_extra_debug_sigprint();
  
  typedef typename T1::elem_type eT;
  
  const s32 id = (X.aux_u32_b > 0) ? -s32(X.aux_u32_a) : s32(X.aux_u32_a);
  
  const unwrap_check<T1> tmp(X.m, out);
  const Mat<eT>& A     = tmp.M;

  out = A.diag(id);
  }