LocARNA-1.8.11
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LocARNA::OMatrix< elem_t > Class Template Reference

Simple matrix class with offset. More...

#include <matrices.hh>

Inheritance diagram for LocARNA::OMatrix< elem_t >:
Inheritance graph
[legend]
Collaboration diagram for LocARNA::OMatrix< elem_t >:
Collaboration graph
[legend]

Public Member Functions

 OMatrix ()
 
void resize (size_t xdim, size_t ydim, size_t xoff=0, size_t yoff=0)
 
const elem_toperator() (size_t i, size_t j) const
 
elem_toperator() (size_t i, size_t j)
 
const elem_t get (size_t i, size_t j) const
 
void set (size_t i, size_t j, const elem_t &x)
 
- Public Member Functions inherited from LocARNA::Matrix< elem_t >
 Matrix ()
 
 Matrix (size_type xdim, size_type ydim, const elem_t *from=0L)
 
size_pair_type sizes () const
 
void resize (size_type xdim, size_type ydim)
 
const elem_toperator() (size_type i, size_type j) const
 
elem_toperator() (size_type i, size_type j)
 
const elem_t get (size_type i, size_type j) const
 
void set (size_type i, size_type j, const elem_t &x)
 
void fill (const elem_t &val)
 Fill the whole matrix with the given value. More...
 
void clear ()
 
void transform (UnaryOperator f)
 

Protected Member Functions

size_t addr (size_t i, size_t j) const
 Computes address/index in 1D vector from 2D matrix indices. More...
 
- Protected Member Functions inherited from LocARNA::Matrix< elem_t >
size_type addr (size_type i, size_type j) const
 

Protected Attributes

size_t off_
 combined offset for vector access
 
size_t xoff_
 offset in first dimension
 
size_t yoff_
 offset in second dimension
 
- Protected Attributes inherited from LocARNA::Matrix< elem_t >
std::vector< elem_tmat_
 vector storing the matrix entries
 
size_type xdim_
 first dimension
 
size_type ydim_
 second dimension
 

Additional Inherited Members

- Public Types inherited from LocARNA::Matrix< elem_t >
typedef elem_t elem_t
 type of elements
 
typedef std::vector< elem_t >::size_type size_type
 size type (from underlying vector)
 
typedef std::pair< size_type, size_typesize_pair_type
 type for pair of sizes
 

Detailed Description

template<class elem_t>
class LocARNA::OMatrix< elem_t >

Simple matrix class with offset.

Constructor & Destructor Documentation

template<class elem_t >
LocARNA::OMatrix< elem_t >::OMatrix ( )
inline

Construct as 0x0-matrix

Returns

Member Function Documentation

template<class elem_t >
size_t LocARNA::OMatrix< elem_t >::addr ( size_t  i,
size_t  j 
) const
inlineprotected

Computes address/index in 1D vector from 2D matrix indices.

Shifts indices by offset

Parameters
ifirst index
jsecond index
Returns
index in vector
Note
this method is used for all internal access to the vector mat_
template<class elem_t >
const elem_t LocARNA::OMatrix< elem_t >::get ( size_t  i,
size_t  j 
) const
inline

Read access to matrix element

Parameters
i
j
Returns
entry (i,j)
Note
: redefine since we don't want to use polymorphism
template<class elem_t >
const elem_t& LocARNA::OMatrix< elem_t >::operator() ( size_t  i,
size_t  j 
) const
inline

Read access to matrix element

Parameters
i
j
Returns
entry (i,j)
Note
: redefine since we don't want to use polymorphism
template<class elem_t >
elem_t& LocARNA::OMatrix< elem_t >::operator() ( size_t  i,
size_t  j 
)
inline

Read/write access to matrix element

Parameters
i
j
Returns
reference to entry (i,j)
Note
: redefine since we don't want to use polymorphism
template<class elem_t >
void LocARNA::OMatrix< elem_t >::resize ( size_t  xdim,
size_t  ydim,
size_t  xoff = 0,
size_t  yoff = 0 
)
inline

Resize matrix

Parameters
xdimnew first dimension
ydimnew second dimension
xoffnew offset in first dimension
yoffnew offset in second dimension
template<class elem_t >
void LocARNA::OMatrix< elem_t >::set ( size_t  i,
size_t  j,
const elem_t x 
)
inline

Write access to matrix element

Parameters
i
j
xelement value
Note
: redefine since we don't want to use polymorphism

The documentation for this class was generated from the following file: