Public Member Functions | Static Public Attributes | Friends

Matrix< Type > Class Template Reference

List of all members.

Public Member Functions

 Matrix (int n_lin, int n_col, int init=None)
 Constructor pentru instantierea unei matrice de n_lin linii, respectiv n_col coloane. Al treilea parametru este optional, dar cu ajutorul lui se poate initializa matricea nou construita.
 Matrix (const Matrix< Type > &right)
 Copy constructor pentru clonarea unei matrice (atat dimensiuni, cat si continut).
 Matrix ()
 Constructor care creaza o matrice de 0 lini si 0 coloane (care nu poate avea continut). In mod normal, acest rezultat intors de o operatie semnaleaza o eroare de aritmetica matricelor.
int get_n_lin () const
 Getter pentru a afla numarul de linii al matricei.
int get_n_col () const
 Getter pentru a afla numarul de coloane al matricei.
Matrix< Type > submatrix (int start_lin, int start_col, int n_lines, int n_columns) const
 Functie care creaza o matrice de n_lines linii si n_columns coloane, copiind valorile din matricea initiala incepand de la (start_lin,start_col)
Matrix< Type > & copy (int start_lin, int start_col, const Matrix< Type > &source)
 Functie care copie continutul unei matrice in matricea curenta, incepand de la elementul de coordonate (start_lin,start_col).
Type * operator[] (int line) const
 Operator care da acces la adresa de inceput a unei linii, astfel incat elementele din matrice sa poata fi referite prin seturi de paranteze patrate ca si intr-un array bidimensinoal.
Matrix< Type > & operator= (const Matrix< Type > &right)
 Operatorul de atribuire intre doua obiecte de tip matrice. Are ca efect clonarea matricei din dreapta.
Matrix< Type > & operator+= (const Matrix< Type > &right)
 Operatorul de adunare la continutul unei matrici. Atentie! Adunarea incrementala este mai rapida decat atribuirea unei sume de matrici.
Matrix< Type > & operator-= (const Matrix< Type > &right)
 Operatorul de scadere din continutul unei matrici. Atentie! Scaderea incrementala este mai rapida decat atribuirea unei diferente de matrici.

Static Public Attributes

static const int Zero = 0
 Constanta statica care identifica tipul de matrice nula (utila pentru a o trimite in constructor).
static const int Unit = 1
 Constanta statica care identifica tipul de matrice unitara (utila pentru a o trimite in constructor). Daca matricea nu este patratica, face fallback pe None.
static const int None = 2
 Constanta statica care identifica tipul de matrice neinitializata (valoarea implicita din constructor).

Friends

std::istream & operator>> (std::istream &, Matrix< Type > &right)
 Operatorul de deserializare realizeaza citirea unei matrice dintr-un fisier (sau de la tastatura). Atentie! Se citesc doar datele, dimensiunile sunt cele date in constructor.
std::ostream & operator<< (std::ostream &, const Matrix< Type > right)
 Operatorul de serializare realizeaza scrierea unei matrice intr-un fisier (sau pe ecran). Atentie! Se scrie doar continutul, nu si dimensiunile matricei.
Matrix< Type > operator* (const Matrix< Type > &left, const Matrix< Type > &right)
 Operatorul de inmultire efectueaza produsul a doua matrice. Atentie, inmultirea nu este comutativa!
Matrix< Type > operator+ (const Matrix< Type > &left, const Matrix< Type > &right)
 Operatorul de adunare efectueaza suma a doua matrice. Suma matricelor este comutativa.
Matrix< Type > operator- (const Matrix< Type > &left, const Matrix< Type > &right)
 Operatorul de scadere efectueaza diferenta a doua matrice. Diferenta matricelor nu este comutativa.

template<class Type>
class Matrix< Type >


Constructor & Destructor Documentation

template<class Type>
Matrix< Type >::Matrix ( int  n_lin,
int  n_col,
int  init = None 
) [inline]

Constructor pentru instantierea unei matrice de n_lin linii, respectiv n_col coloane. Al treilea parametru este optional, dar cu ajutorul lui se poate initializa matricea nou construita.

Parameters:
n_lin Numarul de linii al matricei
n_col Numarul de coloane al matricei
init O constanta dintre Matrix::None, Matrix::Unit sau Matrix::Zero. Specificarea oricarei alte valori inafara de acestea trei face fallback pe Matrix::None.
template<class Type>
Matrix< Type >::Matrix ( const Matrix< Type > &  right  )  [inline]

Copy constructor pentru clonarea unei matrice (atat dimensiuni, cat si continut).

Parameters:
right Matricea care se cloneaza

Member Function Documentation

template<class Type>
Matrix<Type>& Matrix< Type >::copy ( int  start_lin,
int  start_col,
const Matrix< Type > &  source 
) [inline]

Functie care copie continutul unei matrice in matricea curenta, incepand de la elementul de coordonate (start_lin,start_col).

Parameters:
start_lin Linia de la care sa inceapa copierea in matrice
start_col Coloana de la care sa inceapa copierea in matrice
source Matricea al carei continut se copie.
Returns:
O referinta la matricea in care se copie. Daca copierea ar depasi limitele matricei destinatie, atunci ea nu se efectueaza.
template<class Type>
Matrix<Type>& Matrix< Type >::operator+= ( const Matrix< Type > &  right  )  [inline]

Operatorul de adunare la continutul unei matrici. Atentie! Adunarea incrementala este mai rapida decat atribuirea unei sume de matrici.

Parameters:
right Matricea care se aduna
Returns:
O referinta la matricea la care se aduna (pentru chaining). Daca adunarea nu este legala, atunci se ignora operatia.
template<class Type>
Matrix<Type>& Matrix< Type >::operator-= ( const Matrix< Type > &  right  )  [inline]

Operatorul de scadere din continutul unei matrici. Atentie! Scaderea incrementala este mai rapida decat atribuirea unei diferente de matrici.

Parameters:
right Matricea care se scade
Returns:
O referinta la matricea din care se scade (pentru chaining). Daca scaderea nu este legala, atunci se ignora operatia.
template<class Type>
Matrix<Type>& Matrix< Type >::operator= ( const Matrix< Type > &  right  )  [inline]

Operatorul de atribuire intre doua obiecte de tip matrice. Are ca efect clonarea matricei din dreapta.

Parameters:
right Matricea care se atribuie
Returns:
O referinta la obiectul din stanga operatorului egal, utila pentru chaining.
template<class Type>
Matrix<Type> Matrix< Type >::submatrix ( int  start_lin,
int  start_col,
int  n_lines,
int  n_columns 
) const [inline]

Functie care creaza o matrice de n_lines linii si n_columns coloane, copiind valorile din matricea initiala incepand de la (start_lin,start_col)

Parameters:
start_lin Linia de la care sa inceapa copierea din matrice
start_col Coloana de la care sa inceapa copierea din matrice
n_lines Numarul de linii al matricei create
n_columns Numarul de coloane al matricei create
Returns:
Matricea rezultata prin copierea portiunii specificate din matricea initiala. Daca dimensiunile specificate ies din matricea initiala, se intoarce o matrice cu 0 linii si 0 coloane.

Friends And Related Function Documentation

template<class Type>
Matrix<Type> operator* ( const Matrix< Type > &  left,
const Matrix< Type > &  right 
) [friend]

Operatorul de inmultire efectueaza produsul a doua matrice. Atentie, inmultirea nu este comutativa!

Parameters:
left Matricea din stanga operatorului de inmultire
right Matricea din dreapta operatorului de inmultire
Returns:
Daca inmultirea a fost legala, intoarce produsul matricelor. Altfel, daca inmultirea nu a fost legala (pentru a se putea inmulti, matricele trebuie sa aiba numar de coloane, respectiv linii corespunzatoare) se intoarce o matrice cu 0 linii si 0 coloane.
template<class Type>
Matrix<Type> operator+ ( const Matrix< Type > &  left,
const Matrix< Type > &  right 
) [friend]

Operatorul de adunare efectueaza suma a doua matrice. Suma matricelor este comutativa.

Parameters:
left Matricea din stanga operatorului de adunare
right Matricea din dreapta operatorului de adunare
Returns:
Daca adunarea a fost legala, intoarce suma matricelor. Altfel, daca adunarea nu a fost legala (pentru a se putea aduna, matricele trebuie sa aiba dimensiuni identice) se intoarce o matrice cu 0 linii si 0 coloane.
template<class Type>
Matrix<Type> operator- ( const Matrix< Type > &  left,
const Matrix< Type > &  right 
) [friend]

Operatorul de scadere efectueaza diferenta a doua matrice. Diferenta matricelor nu este comutativa.

Parameters:
left Matricea din stanga operatorului de scadere
right Matricea din dreapta operatorului de scadere
Returns:
Daca scaderea a fost legala, intoarce diferenta matricelor. Altfel, daca scaderea nu a fost legala (pentru a se putea scadea, matricele trebuie sa aiba dimensiuni identice) se intoarce o matrice cu 0 linii si 0 coloane.
template<class Type>
std::ostream& operator<< ( std::ostream &  out,
const Matrix< Type >  right 
) [friend]

Operatorul de serializare realizeaza scrierea unei matrice intr-un fisier (sau pe ecran). Atentie! Se scrie doar continutul, nu si dimensiunile matricei.

Parameters:
out Stream-ul (fisier sau iesire standard) unde se scrie
right Matricea al carei continut este scris
Returns:
Serializarea intoarce o referinta la flux, pentru a putea permite chaining-ul.
template<class Type>
std::istream& operator>> ( std::istream &  in,
Matrix< Type > &  right 
) [friend]

Operatorul de deserializare realizeaza citirea unei matrice dintr-un fisier (sau de la tastatura). Atentie! Se citesc doar datele, dimensiunile sunt cele date in constructor.

Parameters:
in Stream-ul (fisier sau intrare standard) de unde se citeste
right Matricea al carei continut este citit
Returns:
Deserializarea intoarce o referinta la flux, pentru a putea permite chaining-ul.

The documentation for this class was generated from the following file:
 All Classes Functions Variables Enumerations Friends