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. |
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.
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. |
Copy constructor pentru clonarea unei matrice (atat dimensiuni, cat si continut).
right | Matricea care se cloneaza |
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).
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. |
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.
right | Matricea care se aduna |
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.
right | Matricea care se scade |
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.
right | Matricea care se atribuie |
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)
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 |
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!
left | Matricea din stanga operatorului de inmultire | |
right | Matricea din dreapta operatorului de inmultire |
Matrix<Type> operator+ | ( | const Matrix< Type > & | left, | |
const Matrix< Type > & | right | |||
) | [friend] |
Operatorul de adunare efectueaza suma a doua matrice. Suma matricelor este comutativa.
left | Matricea din stanga operatorului de adunare | |
right | Matricea din dreapta operatorului de adunare |
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.
left | Matricea din stanga operatorului de scadere | |
right | Matricea din dreapta operatorului de scadere |
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.
out | Stream-ul (fisier sau iesire standard) unde se scrie | |
right | Matricea al carei continut este scris |
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.
in | Stream-ul (fisier sau intrare standard) de unde se citeste | |
right | Matricea al carei continut este citit |