| void testBrackets(int* ar, int len) { | |
| int i; | |
| int errors = 0; | |
| for (i = 0; i < len; i++) { | |
| ar[i] = i; | |
| } | |
| for (i = 0; i < len; i++) { | |
| if (ar[i] != i) { | |
| printf("error: [%d] %d != %d\n", i, ar[i], i); | |
| errors++; | |
| } | |
| } | |
| printf("Errors: %d\n", errors); | |
| } | |
| void testBrackets2D(int** ar2D, int lenX, int lenY) { | |
| int x, y; | |
| int errors = 0; | |
| for (x = 0; x < lenX; x++) { | |
| for (y = 0; y < lenY; y++) { | |
| ar2D[x][y] = x * lenY + y; | |
| } | |
| } | |
| for (x = 0; x < lenX; x++) { | |
| for (y = 0; y < lenY; y++) { | |
| int expected = x * lenY + y; | |
| int val = ar2D[x][y]; | |
| if (val != expected) { | |
| printf("error: [%d][%d] %d != %d\n", x, y, val, expected); | |
| errors++; | |
| } | |
| } | |
| } | |
| printf("2D Errors: %d\n", errors); | |
| } | |
| void testHeap() { | |
| int* ar = (int*) malloc(100); | |
| testBrackets(ar, 25); | |
| free(ar); | |
| } | |
| void testHeap2D() { | |
| int lenX = 10; | |
| int lenY = 5; | |
| int* ar = (int*) malloc(lenX * lenY * 4); | |
| int** ar2D = (int**) malloc(lenX * 4); | |
| int i; | |
| for(i = 0; i < lenX; i++) { | |
| ar2D[i] = ar + lenY * i; | |
| } | |
| testBrackets2D(ar2D, lenX, lenY); | |
| free(ar); | |
| free(ar2D); | |
| } | |
| int main() { | |
| testHeap(); | |
| testHeap2D(); | |
| return 0; | |
| } |