18 #include "MemoryAllocators.h"
22 char *** AllocateCharCube(
int n,
int rows,
int cols)
24 char *** cube =
new char ** [n];
30 for (
int i = 0; i < n; i++)
32 cube[i] = AllocateCharMatrix(rows, cols);
38 FreeCharMatrix(cube[i], rows);
49 int ** AllocateIntMatrix(
int rows,
int cols)
51 int ** matrix =
new int * [rows];
57 for (
int i = 0; i < rows; i++)
59 matrix[i] =
new int [cols];
62 if (matrix[i] == NULL)
76 char ** AllocateCharMatrix(
int rows,
int cols)
78 char ** matrix =
new char * [rows];
84 for (
int i = 0; i < rows; i++)
86 matrix[i] =
new char [cols];
89 if (matrix[i] == NULL)
103 float ** AllocateFloatMatrix(
int rows,
int cols)
105 float ** matrix =
new float * [rows];
111 for (
int i = 0; i < rows; i++)
113 matrix[i] =
new float [cols];
116 if (matrix[i] == NULL)
130 void FreeCharCube(
char *** & cube,
int n,
int rows)
135 for (
int i = 0; i < n; i++)
136 FreeCharMatrix(cube[i], rows);
143 void FreeCharMatrix(
char ** & matrix,
int rows)
148 for (
int i = 0; i < rows; i++)
156 void FreeFloatMatrix(
float ** & matrix,
int rows)
161 for (
int i = 0; i < rows; i++)
169 void FreeIntMatrix(
int ** & matrix,
int rows)
174 for (
int i = 0; i < rows; i++)
182 short ** AllocateShortMatrix(
int rows,
int cols)
184 short ** matrix =
new short * [rows];
190 for (
int i = 0; i < rows; i++)
192 matrix[i] =
new short [cols];
195 if (matrix[i] == NULL)
209 void FreeShortMatrix(
short ** & matrix,
int rows)
214 for (
int i = 0; i < rows; i++)
222 double ** AllocateDoubleMatrix(
int rows,
int cols)
224 double ** matrix =
new double * [rows];
230 for (
int i = 0; i < rows; i++)
232 matrix[i] =
new double [cols];
235 if (matrix[i] == NULL)
249 void FreeDoubleMatrix(
double ** & matrix,
int rows)
251 for (
int i = 0; i < rows; i++)