32 if (C->points !=
NULL) {
33 for (band = 0; band < C->nbands; band++)
34 if (C->points[band] !=
NULL)
35 free(C->points[band]);
38 if (C->band_sum !=
NULL)
40 if (C->band_sum2 !=
NULL)
47 I_free_signatures(&C->S);
56 I_init_signatures(&C->S, nbands);
57 sprintf(C->S.title, _(
"produced by i.cluster"));
60 C->points = (DCELL **)malloc(C->nbands *
sizeof(DCELL *));
61 if (C->points ==
NULL)
63 for (band = 0; band < C->nbands; band++)
64 C->points[band] =
NULL;
67 for (band = 0; band < C->nbands; band++) {
68 C->points[band] = (DCELL *)malloc(C->np *
sizeof(DCELL));
69 if (C->points[band] ==
NULL)
77 C->band_sum = (
double *)malloc(C->nbands *
sizeof(
double));
78 if (C->band_sum ==
NULL)
80 C->band_sum2 = (
double *)malloc(C->nbands *
sizeof(
double));
81 if (C->band_sum2 ==
NULL)
83 for (band = 0; band < C->nbands; band++) {
84 C->band_sum[band] = 0;
85 C->band_sum2[band] = 0;