//this file contains functions to allocate and free Vec and Mat #include "Header.h" //creates and reserves memory resources of size n and // returns Vec pointer Vec * createVec(int n) { Vec * vecP = (Vec *) malloc(sizeof(Vec)); vecP->n = n; vecP->p = (float *) malloc(n * sizeof(float)); return vecP; } //frees memory resources of vecP void destroyVec(Vec * vecP) { free(vecP->p); free(vecP); } //creates a matrix and reserves memory resources of size n*m // //n: number of rows //m: number of columns Mat * createMat(int n, int m) { Mat * matP = (Mat *) malloc(sizeof(Mat)); matP->n = n; matP->m = m; matP->p = (float *) malloc((n*m) * sizeof(float)); return matP; } //frees memory resources of matP void destroyMat(Mat * matP) { free(matP->p); free(matP); }