GRASS GIS 8 Programmer's Manual
8.2.2dev(2023)-3d2c704037
c_sum2.c
Go to the documentation of this file.
1
/*!
2
\file cluster/c_sum2.c
3
4
\brief Cluster library - Sum of squares
5
6
(C) 2001-2009 by the GRASS Development Team
7
8
This program is free software under the GNU General Public License
9
(>=v2). Read the file COPYING that comes with GRASS for details.
10
11
\author Original author CERL
12
*/
13
14
#include <
grass/cluster.h
>
15
16
/*!
17
\brief Compute sum of squares for each class
18
19
\param C pointer to Cluster structure
20
21
\return 0
22
*/
23
int
I_cluster_sum2
(
struct
Cluster
*C)
24
{
25
int
p, band,
class
;
26
double
q;
27
28
G_debug
(3,
"I_cluster_sum2(npoints=%d,nclasses=%d,nbands=%d)"
,
29
C->
npoints
, C->
nclasses
, C->
nbands
);
30
31
for
(
class
= 0;
class
< C->nclasses;
class
++)
32
for
(band = 0; band < C->
nbands
; band++)
33
C->
sum2
[band][
class
] = 0;
34
35
for (p = 0; p < C->
npoints
; p++) {
36
class
= C->class[p];
37
if
(
class
< 0)
38
continue
;
39
for
(band = 0; band < C->
nbands
; band++) {
40
q = C->
points
[band][p];
41
C->
sum2
[band][
class
] += q * q;
42
}
43
}
44
45
return
0;
46
}
Cluster::nbands
int nbands
Definition:
cluster.h:9
Cluster::nclasses
int nclasses
Definition:
cluster.h:27
Cluster
Definition:
cluster.h:7
Cluster::npoints
int npoints
Definition:
cluster.h:10
Cluster::sum2
double ** sum2
Definition:
cluster.h:23
Cluster::points
DCELL ** points
Definition:
cluster.h:11
I_cluster_sum2
int I_cluster_sum2(struct Cluster *C)
Compute sum of squares for each class.
Definition:
c_sum2.c:23
cluster.h
G_debug
int G_debug(int, const char *,...) __attribute__((format(printf
lib
cluster
c_sum2.c
Generated on Tue Feb 14 2023 05:55:58 for GRASS GIS 8 Programmer's Manual by
1.8.13