namespace ewalena  0.2.15
ewalena is not an acronym
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Attributes | Friends
ewalena::SuperMatrix< ValueType > Class Template Reference

#include <include/ewalena/lac/super_matrix.h>

List of all members.

Public Member Functions

unsigned int n_cols () const
unsigned int n_rows () const
ValueType & operator() (const unsigned int i, const unsigned int j, const unsigned int k, const unsigned int l)
const ValueType & operator() (const unsigned int i, const unsigned int j, const unsigned int k, const unsigned int l) const
void reinit (const unsigned int p, const unsigned int q, const unsigned int r, const unsigned int s, const bool zero=true)
void reinit ()
 SuperMatrix ()
 SuperMatrix (const unsigned int p, const unsigned int q, const unsigned int r, const unsigned int s, const bool zero=true)
 ~SuperMatrix ()

Protected Member Functions

const ValueType * operator* () const
ValueType * operator* ()

Private Attributes

unsigned int __n_cols
unsigned int __n_rows
ValueType * data
unsigned int I
unsigned int J
unsigned int K
unsigned int L

Friends

std::ostream & operator<< (std::ostream &output, const SuperMatrix< ValueType > &M)

Detailed Description

template<typename ValueType = double>
class ewalena::SuperMatrix< ValueType >

A class that denotes a super matrix with four-index data access,

Author:
Toby D. Young 2012.

Constructor & Destructor Documentation

template<typename ValueType = double>
ewalena::SuperMatrix< ValueType >::SuperMatrix ( )

Constructor.

template<typename ValueType = double>
ewalena::SuperMatrix< ValueType >::~SuperMatrix ( )

Destructor.

template<typename ValueType = double>
ewalena::SuperMatrix< ValueType >::SuperMatrix ( const unsigned int  p,
const unsigned int  q,
const unsigned int  r,
const unsigned int  s,
const bool  zero = true 
) [explicit]

Initialize a super matrix of size m $\times$n. By default, matrix elements are set to zero otherwise if zero=false, matrix elements are left in an unspecified state.


Member Function Documentation

template<typename ValueType >
unsigned int ewalena::SuperMatrix< ValueType >::n_cols ( ) const [inline]

Return the number of columns this super matrix has.

template<typename ValueType >
unsigned int ewalena::SuperMatrix< ValueType >::n_rows ( ) const [inline]

Return the number of rows this super matrix has.

template<typename ValueType >
ValueType & ewalena::SuperMatrix< ValueType >::operator() ( const unsigned int  i,
const unsigned int  j,
const unsigned int  k,
const unsigned int  l 
) [inline]

Read-write access to the (i,j,k,l)th component of this super matrix.

template<typename ValueType >
const ValueType & ewalena::SuperMatrix< ValueType >::operator() ( const unsigned int  i,
const unsigned int  j,
const unsigned int  k,
const unsigned int  l 
) const [inline]

Read only access to the (i,j,k,l)th index of this matrix.

template<typename ValueType = double>
const ValueType* ewalena::SuperMatrix< ValueType >::operator* ( ) const [inline, protected]

Read only access operator to the underlying C array structure associated with this matrix.

template<typename ValueType = double>
ValueType* ewalena::SuperMatrix< ValueType >::operator* ( ) [inline, protected]

Read-write access operator to the underlying C array structure associated with this matrix.

template<typename ValueType = double>
void ewalena::SuperMatrix< ValueType >::reinit ( const unsigned int  p,
const unsigned int  q,
const unsigned int  r,
const unsigned int  s,
const bool  zero = true 
)

Reinitialise this super matrix to size p, q, r, s.

template<typename ValueType = double>
void ewalena::SuperMatrix< ValueType >::reinit ( )

Reinit the contents of this super matrix effectively clearing it.


Friends And Related Function Documentation

template<typename ValueType = double>
std::ostream& operator<< ( std::ostream &  output,
const SuperMatrix< ValueType > &  M 
) [friend]

Output operator to stream.


Member Data Documentation

template<typename ValueType = double>
unsigned int ewalena::SuperMatrix< ValueType >::__n_cols [private]

Internal reference to this matrix column size, ie. the number of columns this matrix has.

template<typename ValueType = double>
unsigned int ewalena::SuperMatrix< ValueType >::__n_rows [private]

Internal reference to this matrix row-size, ie. the number of rows this matrix has.

template<typename ValueType = double>
ValueType* ewalena::SuperMatrix< ValueType >::data [private]

Internal object denoting this matrix data.

template<typename ValueType = double>
unsigned int ewalena::SuperMatrix< ValueType >::I [private]
template<typename ValueType = double>
unsigned int ewalena::SuperMatrix< ValueType >::J [private]
template<typename ValueType = double>
unsigned int ewalena::SuperMatrix< ValueType >::K [private]
template<typename ValueType = double>
unsigned int ewalena::SuperMatrix< ValueType >::L [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines