/** @(#) 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------------------------------------------------------------------------