/** @(#) mathpos/arraypos.cpp */ /** * Define las funciones de la cabecera. */ #include "arraypos.h" // array---------------------------------------------------------------------- // Memoria-------------------------------------------------------------------- /** * Reserva memoria para un arreglo bidimensional de double. * Uso: * double **M = newFloat2D<double>(n, n); * @param row Numero de renglones. * @param col Numero de columnas. * @return Doble apuntador a arreglo bidimensional. */ double ** newDouble2D(int row, int col) { double **pArray = new double*[row]; int i; for (i = 0; i < row; ++i) { pArray[i] = new double[col]; } return pArray; } /** * Libera memoria de un arreglo bidimensional de double. * @param row Numero de renglones. */ void deleteDouble2D(double **pArray, int row) { int i; for (i = 0; i < row; ++i) { delete[] pArray[i]; } delete []pArray; } /** * Reserva memoria para un arreglo bidimensional de float. * Uso: * float **M = newFloat2D<float>(n, n); * @param row Numero de renglones. * @param col Numero de columnas. * @return Doble apuntador a arreglo bidimensional. */ float ** newFloat2D(int row, int col) { float **pArray = new float*[row]; int i; for (i = 0; i < row; ++i) { pArray[i] = new float[col]; } return pArray; } /** * Libera memoria de un arreglo bidimensional de float. * @param row Numero de renglones. */ void deleteFloat2D(float **pArray, int row) { int i; for (i = 0; i < row; ++i) { delete[] pArray[i]; } delete []pArray; } // vector--------------------------------------------------------------------- /** * Convierte un vector de long en float. */ void vectorLongToFloat(long *pLong, float *pFloat, int count) { int i; for (i = 0; i < count; ++i) { pFloat[i] = static_cast<float>( pLong[i] ); } } /** * Solo usarlo con tipos numericos: int, long, float, double. */ //template <class TC> void vectorToZero(long *pVector, int count) { int i; for (i = 0; i < count; ++i) { pVector[i] = 0L; } } // Fin------------------------------------------------------------------------