Statistics
| Revision:

svn-gvsig-desktop / branches / org.gvsig.desktop-2018a / org.gvsig.desktop.library / org.gvsig.raster / org.gvsig.raster.lib / org.gvsig.raster.lib.buffer.impl / src / main / java / org / gvsig / raster / lib / buffer / impl / statistics / SecondMaxOperation.java @ 43803

History | View | Annotate | Download (848 Bytes)

1
package org.gvsig.raster.lib.buffer.impl.statistics;
2

    
3
/**
4
 * @author fdiaz
5
 *
6
 */
7
public class SecondMaxOperation implements StatisticalOperation {
8

    
9
    double max;
10
    double secondMax;
11

    
12
    /**
13
     * Arithmetic mean
14
     */
15
    public SecondMaxOperation() {
16
        max = Double.NEGATIVE_INFINITY;
17
        secondMax = Double.NEGATIVE_INFINITY;
18
    }
19

    
20
    @Override
21
    public void pre() {
22
        // do nothing
23
    }
24

    
25
    @Override
26
    public void addValue(Number value) {
27
        if (value.doubleValue() > max) {
28
            secondMax = max;
29
            max = value.doubleValue();
30
        } else if(value.doubleValue() > secondMax){
31
            secondMax = value.doubleValue();
32
        }
33
    }
34

    
35
    @Override
36
    public void post() {
37
        // do nothing
38
    }
39

    
40
    @Override
41
    public Object getResult() {
42
        return secondMax;
43
    }
44

    
45
}