Public Types | Public Member Functions | Public Attributes

Op< T1, op_type > Class Template Reference
[Op]

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 > More...

#include <Op_proto.hpp>

Inheritance diagram for Op< T1, op_type >:
Base< T1::elem_type, Op< T1, op_type > >

List of all members.

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

Detailed Description

template<typename T1, typename op_type>
class Op< T1, op_type >

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.


Member Typedef Documentation

template<typename T1, typename op_type>
typedef T1::elem_type Op< T1, op_type >::elem_type

Definition at line 37 of file Op_proto.hpp.

template<typename T1, typename op_type>
typedef get_pod_type<elem_type>::result Op< T1, op_type >::pod_type

Definition at line 38 of file Op_proto.hpp.


Constructor & Destructor Documentation

template<typename T1, typename op_type>
Op< T1, op_type >::Op ( const T1 &  in_m,
const elem_type  in_aux 
) [inline]
template<typename T1, typename op_type>
Op< T1, op_type >::Op ( const T1 &  in_m,
const elem_type  in_aux,
const u32  in_aux_u32_a,
const u32  in_aux_u32_b 
) [inline]

Member Data Documentation

template<typename T1, typename op_type>
const elem_type Op< T1, op_type >::aux

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

template<typename T1, typename op_type>
const u32 Op< T1, op_type >::aux_u32_a
template<typename T1, typename op_type>
const u32 Op< T1, op_type >::aux_u32_b

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