diff --git a/utils/sislin.c b/utils/sislin.c index c5a9287ae280919477d6d55483916ac249248f60..75f649be5051939638a7a78905832b95a2d4633c 100644 --- a/utils/sislin.c +++ b/utils/sislin.c @@ -5,8 +5,7 @@ #include "utils.h" #include "sislin.h" -// Alocaçao de memória. Matriz como vetor de ponteiros para vetores -// alocados independentemente +// Alocaçao de matriz em memória. SistLinear_t* alocaSisLin (unsigned int n, tipoAloc_t tipo) { SistLinear_t *SL = (SistLinear_t *) malloc(sizeof(SistLinear_t)); @@ -22,7 +21,8 @@ SistLinear_t* alocaSisLin (unsigned int n, tipoAloc_t tipo) liberaSisLin(SL); return NULL; } - + + // Matriz como vetor de N ponteiros para um único vetor com N*N elementos if (tipo == pontVet) { SL->A[0] = (real_t *) malloc(n * n * sizeof(real_t)); if (!(SL->A[0])) { @@ -34,7 +34,9 @@ SistLinear_t* alocaSisLin (unsigned int n, tipoAloc_t tipo) SL->A[i] = SL->A[i-1]+n; } } - else if (tipo == pontPont) { + else if (tipo == pontPont) { // Matriz como vetor de N ponteiros + // para N vetores de N elementos cada + for (int i=0; i < n; ++i) SL->A[i] = (real_t *) malloc(n * sizeof(real_t)); }