Página principal | Lista de namespace | Lista de componentes | Lista de archivos | Miembros del Namespace  | Miembros de las clases | Archivos de los miembros

Referencia del Archivo Matrix.h

Declaraciones y definiciones para la clase Matrix. Más...

#include <cassert>
#include "Matrix_Lib.h"

Ir al código fuente de este archivo.

Namespaces

namespace  std
namespace  Mx

Clases

class  Mx::Matrix< E >
 Esta es una clase matriz muy chirrisquitica que puede cambiar dinámicamente de tamaño. Más...

Funciones

template<class T>
bool check_ok (const Matrix< T > &M)
 Verifica la invariante de la clase.
template<class E>
std::ostream & operator<< (std::ostream &COUT, const Matrix< E > &M)
 Graba en el flujo COUT el valor de M[][].
template<class E>
std::istream & operator>> (std::istream &CIN, Matrix< E > &M)
 Obtiene del flujo CIN el valor para M[][].


Descripción detallada

Declaraciones y definiciones para la clase Matrix.

Autor:
Adolfo Di Mare <adolfo@di-mare.com>
Fecha:
2004

Definición en el archivo Matrix.h.


Documentación de las funciones

template<class T>
bool check_ok const Matrix< T > &  M  ) 
 

Verifica la invariante de la clase.

  • Es posible que la matriz tenga dimensiones nulas, lo que implica que todos los punteros a los vectors paralelos deben ser nulos. Este hecho se marca dándolo el valor 0 (cero) al campo m_val.
  • Las matrices quedan almacenadas en un vector de tamaño [M x N].
  • En todos los algoritmos, "m" o "m_rows" es la cantidad de filas == rows()
  • En todos los algoritmos, "n" o "m_cols" es la cantidad de columnas == cols()

Rep Modelo de la clase
+---+                                         /         \
| 2 |  M(i,j) ==> m_val[ (i * m_cols) + j ]   | 0 1 2 3 |   m_rows == 2
+---+  (almacenamiento por filas)             | 4 5 6 7 |   m_cols == 4
| 4 |                                         \         /
+---+   +---+---+---+---+---+---+---+---+
| *-|-->| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+---+   +---+---+---+---+---+---+---+---+
Rep Modelo de la clase
+---+
| 4 |  M(i,j) ==> m_val[ i + (j * m_rows) ]   / a e \
+---+  (almacenamiento por columnas)          | b f |   m_rows == 4
| 2 |                                         | c g |   m_cols == 2
+---+   +---+---+---+---+---+---+---+---+     \ d h /
| *-|-->| a | b | c | d | e | f | g | h |
+---+   +---+---+---+---+---+---+---+---+
Comentarios:
Libera al programador de implementar el método Ok()

- Invariante: (M.m_rows == 0) <==> (M.m_cols == 0)

- Invariante: (M.m_rows == 0) <==> (M.m_val == 0)

- Invariante: check_ok( m_val[k] )

Definición en la línea 144 del archivo Matrix.h.

template<class E>
std::ostream& operator<< std::ostream &  COUT,
const Matrix< E > &  M
 

Graba en el flujo COUT el valor de M[][].

Definición en la línea 566 del archivo Matrix.h.

template<class E>
std::istream& operator>> std::istream &  CIN,
Matrix< E > &  M
 

Obtiene del flujo CIN el valor para M[][].

Definición en la línea 579 del archivo Matrix.h.


Generado el Wed Nov 14 13:47:09 2007 para Uso de Mx::Matrix: por  doxygen 1.3.9.1