cu_array_t * kvz_cu_array_alloc(const int width_in_scu, const int height_in_scu) { unsigned cu_array_size = height_in_scu * width_in_scu; cu_array_t *cua; cua = MALLOC(cu_array_t, 1); cua->data = (cu_info_t*)malloc(sizeof(cu_info_t) * cu_array_size); cua->refcount = 1; FILL_ARRAY(cua->data, 0, cu_array_size); return cua; }
int main(void) { /* Zero an array. */ { double d[2]; d[0] = 1.0; d[1] = 2.0; ZERO_ARRAY(d); /* Pass pointer to array. */ printf("d[0] = %f\n", d[0]); printf("d[1] = %f\n", d[1]); printf("\n"); } /* Zero a struct. */ { struct stuff st; st.d[0] = 1.0; st.d[1] = 2.0; st.str[0] = 'O'; st.str[1] = 'K'; st.str[2] = '\n'; st.str[3] = '\0'; st.x = -5; ZERO_STRUCT(&st); /* Pass pointer to struct. */ printf("st.d[0] = %f\n", st.d[0]); printf("st.d[1] = %f\n", st.d[1]); printf("st.str = \"%s\"\n", st.str); printf("st.x = %d\n", st.x); printf("\n"); } /* Count array length. */ { double d[3]; printf("length = %d\n", COUNT_ARRAY(d)); printf("\n"); } /* Test maximum. */ { int a = 4; int b = 5; printf("max = %d\n", MAX(a, b)); printf("max = %d\n", MAX(b, a)); printf("\n"); } /* Test strcmp. */ { char a[] = "ab"; char b[] = "abd"; printf("strcmp = %d\n", strcmp(a, b)); printf("\n"); } /* Test strlen. */ { char a[] = "ab\n"; char b[] = ""; printf("strlen = %d\n", strlen(a)); /* = 3 */ printf("strlen = %d\n", strlen(b)); /* = 0 */ printf("\n"); } /* Test strcpy. */ { char dst[20] = ""; char src[20] = "baba"; printf("strcpy = %s\n", strcpy(dst, src)); printf("\n"); } /* Test memset. */ { char dst[20] = ""; printf("memset = %s\n", (char *)memset(dst, 97, sizeof(dst)-1)); printf("\n"); } /* Test FILL_ARRAY. */ { int arr[2]; size_t i = 0; uint8_t *byte = (uint8_t *)arr; FILL_ARRAY(arr, 0xba); printf("arr[0] = %d\n", arr[0]); printf("arr[1] = %d\n", arr[1]); for (i = 0; i < sizeof(arr); ++i) { printf("arr as byte[%d] = 0x%x\n", i, *byte++); } printf("\n"); } /* Test atoi. */ { char str[] = "0123456789"; char str1[] = "-489"; char str2[] = " 9 white space"; char str3[] = "--5"; char str4[] = ""; printf("%s = %d\n", str, atoi(str)); printf("%s = %d\n", str1, atoi(str1)); printf("%s = %d\n", str2, atoi(str2)); printf("%s = %d\n", str3, atoi(str3)); printf("%s = %d\n", str4, atoi(str4)); printf("\n"); } /* Test strchar. */ { char str[] = "0123456789"; printf("%s\n", strchr(str,'5')); printf("%s\n", strchr(str,'1')); printf("\n"); } /* Test rand. */ { size_t i = 0; for (i = 0; i < 5; ++i) { printf("rand() = %d\n", rand()); } for (i = 0; i < 10; ++i) { printf("rand_between(1, 3) = %d\n", rand_between(1, 3)); } while (rand() != 0) { } while (rand() != RAND_MAX) { } printf("\n"); } return 0; }