Class for storing data required for delayed binary operations, //! such as the operands (e.g. two matrices) and the binary operator (e.g. addition). //! The operands are stored as references (which can be optimised away), //! while the operator is "stored" through the template definition (glue_type). //! The operands can be 'Mat', 'Row', 'Col', 'Op', and 'Glue'. //! Note that as 'Glue' can be one of the operands, more than two matrices can be stored. //! //! For example, we could have: Glue<Mat, Mat, glue_times> //! //! Another example is: Glue< Op<Mat, op_trans>, Op<Mat, op_inv>, glue_times > More...
#include <Glue_proto.hpp>
Public Types | |
typedef T1::elem_type | elem_type |
typedef get_pod_type < elem_type >::result | pod_type |
Public Member Functions | |
arma_inline | Glue (const T1 &in_A, const T2 &in_B) |
arma_inline | Glue (const T1 &in_A, const T2 &in_B, const u32 in_aux_u32) |
arma_inline | ~Glue () |
Public Attributes | |
const T1 & | A |
first operand | |
const T2 & | B |
second operand | |
const u32 | aux_u32 |
storage of auxiliary data, u32 format |
Class for storing data required for delayed binary operations, //! such as the operands (e.g. two matrices) and the binary operator (e.g. addition). //! The operands are stored as references (which can be optimised away), //! while the operator is "stored" through the template definition (glue_type). //! The operands can be 'Mat', 'Row', 'Col', 'Op', and 'Glue'. //! Note that as 'Glue' can be one of the operands, more than two matrices can be stored. //! //! For example, we could have: Glue<Mat, Mat, glue_times> //! //! Another example is: Glue< Op<Mat, op_trans>, Op<Mat, op_inv>, glue_times >
Definition at line 36 of file Glue_proto.hpp.
typedef T1::elem_type Glue< T1, T2, glue_type >::elem_type |
Definition at line 40 of file Glue_proto.hpp.
typedef get_pod_type<elem_type>::result Glue< T1, T2, glue_type >::pod_type |
Definition at line 41 of file Glue_proto.hpp.
first operand
Definition at line 47 of file Glue_proto.hpp.
Referenced by glue_toeplitz::apply(), glue_times_diag::apply(), glue_times_redirect< N >::apply(), glue_solve::apply(), glue_kron::apply(), glue_join::apply(), glue_cross::apply(), glue_cov::apply(), glue_cor::apply(), glue_conv::apply(), as_scalar_redirect< 2 >::apply(), glue_times::apply_inplace_plus(), and trace().
second operand
Definition at line 48 of file Glue_proto.hpp.
Referenced by glue_toeplitz::apply(), glue_times_diag::apply(), glue_times_redirect< N >::apply(), glue_solve::apply(), glue_kron::apply(), glue_join::apply(), glue_cross::apply(), glue_cov::apply(), glue_cor::apply(), glue_conv::apply(), as_scalar_redirect< 2 >::apply(), glue_times::apply_inplace_plus(), and trace().
storage of auxiliary data, u32 format
Definition at line 49 of file Glue_proto.hpp.
Referenced by glue_join::apply(), glue_cov::apply(), and glue_cor::apply().