1
0
Fork 0
mirror of synced 2024-07-01 13:01:09 -04:00
ultimate-vim/vim_plugins_src/cvim/c-support/codesnippets/calloc_double_matrix.c

37 lines
1.5 KiB
C

/*
* === FUNCTION ======================================================================
* Name: calloc_double_matrix
* Description: Allocate a dynamic double-matrix of size rows*columns;
* return a pointer.
* =====================================================================================
*/
double**
calloc_double_matrix ( int rows, int columns )
{
int i;
double **m;
m = calloc ( rows, sizeof(double*) ); /* allocate pointer array */
assert( m != NULL ); /* abort if allocation failed */
*m = calloc ( rows*columns, sizeof(double) );/* allocate data array */
assert(*m != NULL ); /* abort if allocation failed */
for ( i=1; i<rows; i+=1 ) /* set pointers */
m[i] = m[i-1] + columns;
return m;
} /* ---------- end of function calloc_double_matrix ---------- */
/*
* === FUNCTION ======================================================================
* Name: free_matrix_double
* Description: Free a dynamic double-matrix.
* =====================================================================================
*/
void
free_double_matrix ( double **m )
{
free(*m); /* free data array */
free( m); /* free pointer array */
return ;
} /* ---------- end of function free_double_matrix ---------- */