#include "myvec.h" #include <stdlib.h> #include <math.h> #include "stackmem.h" #ifdef MEMDEBUG #include "mnemosyne.h" #endif myvec *myvec_new(int i) { myvec *this = (myvec *)claim(sizeof(myvec)); this->N = i; this->p = (double *)claim((sizeof(double) * i)); for (i = 0; i < this->N; i++) this->p[i] = 0.0; return this; } mymatrix *mymatrix_new(int i, int j) { mymatrix *this = claim(sizeof(mymatrix)); this->Nr = i; this->Nc = j; this->p = (double **)claim((sizeof(double *)) * this->Nr); for (i = 0; i < this->Nr; i++) this->p[i] = (double *)claim((sizeof(double)) * this->Nc); return this; } double myvec_crc(myvec *mv) { int i; double crc = 0.0; for (i = 0; i < mv->N; i++) { crc += mv->p[i]; } return crc; } double mymatrix_crc(mymatrix *mm) { int i, j; double crc = 0.0; for (i = 0; i < mm->Nr; i++) { for (j = 0; j < mm->Nc; j++) { crc += mm->p[i][j]; } } return crc; }