#include "imatrix.h"
#include <stdio.h>
#include <stdlib.h>
#include "stackmem.h"
#ifdef MEMDEBUG
#include "mnemosyne.h"
#endif
imatrix *imatrix_new(int i, int j) {
imatrix *this = claim(sizeof(imatrix));
this->Nr = i; this->Nc = j;
this->p = claim((sizeof(int *)) * this->Nr);
for(i = 0; i < this->Nr; i++)
this->p[i] = claim((sizeof(int)) * this->Nc);
return this;
}
int imatrix_crc(imatrix *im) {
int i, j, crc = 0;
for (i = 0; i < im->Nr; i++) {
for (j = 0; j < im->Nc; j++) {
/*if (i < 16 && j < 8) fprintf(stderr, "%06x ", im->p[i][j]);*/
crc = (crc + im->p[i][j])&0x7fffffff;
}
/*if (i < 16) fprintf(stderr, "\n");*/
}
return crc;
}