File: calcsd.c

package info (click to toggle)
grass 8.4.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 277,040 kB
  • sloc: ansic: 460,798; python: 227,732; cpp: 42,026; sh: 11,262; makefile: 7,007; xml: 3,637; sql: 968; lex: 520; javascript: 484; yacc: 450; asm: 387; perl: 157; sed: 25; objc: 6; ruby: 4
file content (32 lines) | stat: -rw-r--r-- 827 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* calcsd.c                                                             */
#include "ransurf.h"
#include "local_proto.h"

void CalcSD(void)
{
    int Row, Col, DoFilter;
    double Effect;

    G_debug(2, "CalcSD()");

    FilterSD = 0.0;
    for (DoFilter = 0; DoFilter < NumFilters; DoFilter++) {
        CopyFilter(&Filter, AllFilters[DoFilter]);
        if (Filter.Mult < 0.0)
            Filter.Mult *= -1.0;

        MakeBigF();
        for (Row = 0; Row < BigF.NumR; Row++) {
            for (Col = 0; Col < BigF.NumC; Col++) {
                DistDecay(&Effect, Row - BigF.RowPlus, Col - BigF.ColPlus);
                FilterSD += Effect * Effect;
            }
        }
    }

    G_debug(3, "(FilterSD):%.12lf", FilterSD);
    FilterSD = sqrt(FilterSD);
    G_debug(3, "(FilterSD):%.12lf", FilterSD);

    return;
}