GRASS Programmer's Manual  6.4.2(2012)
c_sum2.c
Go to the documentation of this file.
00001 #include <grass/cluster.h>
00002 
00003 /* compute sum of squares for each class */
00004 int I_cluster_sum2(struct Cluster *C)
00005 {
00006     int p, band, class;
00007     double q;
00008 
00009     /*
00010        fprintf (stderr, "I_cluster_sum2(npoints=%d,nclasses=%d,nbands=%d)\n", C->npoints, C->nclasses, C->nbands);
00011      */
00012     for (class = 0; class < C->nclasses; class++)
00013         for (band = 0; band < C->nbands; band++)
00014             C->sum2[band][class] = 0;
00015 
00016     for (p = 0; p < C->npoints; p++) {
00017         class = C->class[p];
00018         if (class < 0)
00019             continue;
00020         for (band = 0; band < C->nbands; band++) {
00021             q = C->points[band][p];
00022             C->sum2[band][class] += q * q;
00023         }
00024     }
00025 
00026     return 0;
00027 }
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines