Class for storing data required for delayed unary operations, such as the operand (e.g. the matrix to which the operation is to be applied) and the unary operator (e.g. inverse). The operand is stored as a reference (which can be optimised away), while the operator is "stored" through the template definition (op_type). The operands can be 'Mat', 'Row', 'Col', 'Op', and 'Glue'. Note that as 'Glue' can be one of the operands, more than one matrix can be stored. More...
#include <Op_proto.hpp>
Public Types | |
typedef T1::elem_type | elem_type |
typedef get_pod_type < elem_type >::result | pod_type |
Public Member Functions | |
Op (const T1 &in_m) | |
Op (const T1 &in_m, const elem_type in_aux) | |
Op (const T1 &in_m, const u32 in_aux_u32_a, const u32 in_aux_u32_b) | |
Op (const T1 &in_m, const elem_type in_aux, const u32 in_aux_u32_a, const u32 in_aux_u32_b) | |
~Op () | |
Public Attributes | |
const T1 & | m |
storage of reference to the operand (e.g. a matrix) | |
const elem_type | aux |
storage of auxiliary data, user defined format | |
const u32 | aux_u32_a |
storage of auxiliary data, u32 format | |
const u32 | aux_u32_b |
storage of auxiliary data, u32 format |
Class for storing data required for delayed unary operations, such as the operand (e.g. the matrix to which the operation is to be applied) and the unary operator (e.g. inverse). The operand is stored as a reference (which can be optimised away), while the operator is "stored" through the template definition (op_type). The operands can be 'Mat', 'Row', 'Col', 'Op', and 'Glue'. Note that as 'Glue' can be one of the operands, more than one matrix can be stored.
For example, we could have: Op< Glue< Mat, Mat, glue_times >, op_trans >
Definition at line 33 of file Op_proto.hpp.
Definition at line 37 of file Op_proto.hpp.
typedef get_pod_type<elem_type>::result Op< T1, op_type >::pod_type |
Definition at line 38 of file Op_proto.hpp.
storage of reference to the operand (e.g. a matrix)
Definition at line 47 of file Op_proto.hpp.
Referenced by op_trans2::apply(), op_trans::apply(), op_sum::apply(), op_sort::apply(), op_shuffle::apply(), op_reshape::apply(), op_repmat::apply(), op_prod::apply(), op_princomp::apply(), op_princomp_cov::apply(), op_pinv::apply(), op_min::apply(), op_median::apply(), op_mean::apply(), op_max::apply(), op_inv::apply(), op_htrans::apply(), op_fliplr::apply(), op_flipud::apply(), op_diagvec::apply(), op_diagmat::apply(), op_cov::apply(), op_cor::apply(), op_chol::apply(), det(), htrans(), inv(), log_det(), max(), mean(), min(), operator*(), prod(), sum(), trace(), and trans().
storage of auxiliary data, user defined format
Definition at line 48 of file Op_proto.hpp.
Referenced by op_trans2::apply(), op_reshape::apply(), and op_pinv::apply().
storage of auxiliary data, u32 format
Definition at line 49 of file Op_proto.hpp.
Referenced by op_sum::apply(), op_sort::apply(), op_shuffle::apply(), op_reshape::apply(), op_repmat::apply(), op_prod::apply(), op_min::apply(), op_median::apply(), op_mean::apply(), op_max::apply(), op_diagvec::apply(), op_cov::apply(), and op_cor::apply().
storage of auxiliary data, u32 format
Definition at line 50 of file Op_proto.hpp.
Referenced by op_sort::apply(), op_reshape::apply(), op_repmat::apply(), and op_diagvec::apply().