Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

Fortran_matrix< T > Class Template Reference

A simple 1-based, column oriented Matrix class. More...

#include <fmat.h>

List of all members.

Public Types

typedef T value_type
typedef T element_type
typedef T * pointer
typedef T * iterator
typedef T & reference
typedef const T * const_iterator
typedef const T & const_reference
typedef Region2D< Fortran_matrix<
T > > 
Region
typedef const_Region2D< Fortran_matrix<
T >, T > 
const_Region
enum  AllocMode { INTERNAL_ALLOC, EXTERNAL_ALLOC }

Public Member Functions

Subscript lbound () const
T * begin ()
const T * begin () const
T * end ()
const T * end () const
 Fortran_matrix (const Fortran_matrix< T > &A)
 Fortran_matrix (Subscript M, Subscript N, const T &value=T(0))
 Fortran_matrix (Subscript M, Subscript N, T *v, const int New_amode=0)
 Fortran_matrix (Subscript M, Subscript N, char *s)
Fortran_matrix< T > & operator= (const Fortran_matrix< T > &A)
Fortran_matrix< T > & operator= (const T &scalar)
Subscript dim (Subscript d) const
Subscript num_rows () const
Subscript num_cols () const
void newsize (Subscript M, Subscript N)
 Set new dimensions of the matrix M x N.

void Set_amode (int mode)
 Set internal(mode==0) or external (mode==1) matrix allocation mode.

void SetMaxSize (const int NewMaxSize)
reference operator() (Subscript i, Subscript j)
 1-based element access

const_reference operator() (Subscript i, Subscript j) const
reference operator[] (Subscript i)
 0-based linear element access

const_reference operator[] (Subscript i) const
value_type GetVal (Subscript i, Subscript j) const
void SetVal (Subscript i, Subscript j, const value_type new_val)
value_type GetVal_lidx (Subscript i) const
void SetVal_lidx (Subscript i, const value_type new_val)
Region operator() (const Index1D &I, const Index1D &J)
const_Region operator() (const Index1D &I, const Index1D &J) const
int Print_format (ostream &sout, const char *format) const
int GetSymmPart (pointer dsymm)
int GetASymmPart (pointer dasymm)
int AddSymmPart (pointer dsymm)
int AddASymmPart (pointer dasymm)
int Symmetrize ()
int ASymmetrize ()

Public Attributes

enum Fortran_matrix::AllocMode amode

Protected Member Functions

void initialize (Subscript M, Subscript N)
 Initialize matrix M x N.

void copy (const T *v)
void set (const T &val)
 Set all values of the matrix equal 'val'.

void destroy ()

Protected Attributes

T * v_
 these are adjusted to simulate 1-offset

Subscript m_
Subscript n_
T ** col_
 these are adjusted to simulate 1-offset

int MaxSize
 T elements allowed in the matrix;.


Friends

istream & operator>> (istream &s, Fortran_matrix< T > &A)


Detailed Description

template<class T>
class Fortran_matrix< T >

A simple 1-based, column oriented Matrix class.


Member Data Documentation

template<class T>
int Fortran_matrix< T >::MaxSize [protected]
 

T elements allowed in the matrix;.

For External allocation mode: maximal number of


The documentation for this class was generated from the following file:
Generated on Tue Feb 17 02:03:16 2004 for harlem by doxygen 1.3.6