/** @(#) matrixdouble/matrixdouble.h */ #ifndef MATRIXDOUBLE_H #define MATRIXDOUBLE_H //---------------------------------------------------------------------------- #include "../mathpos/arraypos.h" #include "../utilpos/interfacepos.h" #include <iomanip> #include <iostream> #include <string> #include <stdexcept> // runtime_error using namespace std; /** * Crea una matriz fija bidimensional de numeros de tipo "double" para el manejo * de operaciones del Algebra Lineal. * Usar la referencia a la matriz (logica) cuando sea la posicion * relativa al elemento de la matriz (i, j). * @author Omar Posada Villarreal * @version 2.3, 03/03/2002 Sin VectorDouble *m * @version 2.2, 03/03/2002 VectorDouble *m * @version 2.1, 02/03/2002 * @version 2.0 27/02/2002 C++ * @version 1.7 02/12/2001 Java */ class MatrixDouble { public: MatrixDouble(int theRows, int theColumns, int theLogic = 0); /** * Obtiene la logica. * @return La logica de la matriz [0 | 1}. */ int getLogic() const { return logic; } /** * Cambia la logica de la matriz. * @param theLogica 0: Logica cero. !=0: Logica 1. */ virtual void setLogic(int theLogic) = 0; // Destructor predeterminado. Las heredadas hacen el manejo de memoria /** Obtiene los renglones. Logica uno. @return Numero de renglones. */ int getRows() const { return rows; } /** Obtiene las columnas. Logica uno. @return Numero de Columnas. */ int getColumns() const { return columns; } protected: // public: const int logic ... /** Numero logico de renglones. rows = 1...N.*/ int rows; /** Numero logico de columnas. columns = 1...N. */ int columns; /** Logica del arreglo, solo es valido logica 0 y 1. * Es el numero donde se encuentra el primer elemento: A[0] o A[1]. */ int logic; private: }; //---------------------------------------------------------------------------- /** [][] para numericalPoder usar Numerical Recipes. ADVERTENCIA: Puede ser mal usado. */ /* double **getArray() { // const { ? return m; } */ #endif // Fin------------------------------------------------------------------------