~ubuntu-branches/ubuntu/oneiric/commons-math/oneiric

« back to all changes in this revision

Viewing changes to src/java/org/apache/commons/math/stat/descriptive/StatisticalSummaryValues.java

  • Committer: Bazaar Package Importer
  • Author(s): Damien Raude-Morvan
  • Date: 2009-08-22 01:13:25 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20090822011325-hi4peq1ua5weguwn
Tags: 2.0-1
* New upstream release.
* Set Maintainer field to Debian Java Team
* Add myself as Uploaders
* Switch to Quilt patch system:
  - Refresh all patchs
  - Remove B-D on dpatch, Add B-D on quilt
  - Include patchsys-quilt.mk in debian/rules
* Bump Standards-Version to 3.8.3:
  - Add a README.source to describe patch system
* Maven POMs:
  - Add a Build-Depends-Indep dependency on maven-repo-helper
  - Use mh_installpom and mh_installjar to install the POM and the jar to the
    Maven repository
* Use default-jdk/jre:
  - Depends on java5-runtime-headless
  - Build-Depends on default-jdk
  - Use /usr/lib/jvm/default-java as JAVA_HOME
* Move api documentation to /usr/share/doc/libcommons-math-java/api
* Build-Depends on junit4 instead of junit

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Licensed to the Apache Software Foundation (ASF) under one or more
3
 
 * contributor license agreements.  See the NOTICE file distributed with
4
 
 * this work for additional information regarding copyright ownership.
5
 
 * The ASF licenses this file to You under the Apache License, Version 2.0
6
 
 * (the "License"); you may not use this file except in compliance with
7
 
 * the License.  You may obtain a copy of the License at
8
 
 *
9
 
 *      http://www.apache.org/licenses/LICENSE-2.0
10
 
 *
11
 
 * Unless required by applicable law or agreed to in writing, software
12
 
 * distributed under the License is distributed on an "AS IS" BASIS,
13
 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 
 * See the License for the specific language governing permissions and
15
 
 * limitations under the License.
16
 
 */
17
 
package org.apache.commons.math.stat.descriptive;
18
 
 
19
 
import java.io.Serializable;
20
 
import org.apache.commons.math.util.MathUtils;
21
 
 
22
 
/**
23
 
 *  Value object representing the results of a univariate statistical summary.
24
 
 *
25
 
 * @version $Revision: 480440 $ $Date: 2006-11-29 00:14:12 -0700 (Wed, 29 Nov 2006) $
26
 
 */
27
 
public class StatisticalSummaryValues implements Serializable, 
28
 
    StatisticalSummary {
29
 
   
30
 
    /** Serialization id */
31
 
    private static final long serialVersionUID = -5108854841843722536L;
32
 
 
33
 
    /** The sample mean */
34
 
    private final double mean;
35
 
    
36
 
    /** The sample variance */
37
 
    private final double variance;
38
 
    
39
 
    /** The number of observations in the sample */
40
 
    private final long n;
41
 
    
42
 
    /** The maximum value */
43
 
    private final double max;
44
 
    
45
 
    /** The minimum value */
46
 
    private final double min;
47
 
    
48
 
    /** The sum of the sample values */
49
 
    private final double sum;
50
 
    
51
 
    /**
52
 
      * Constructor
53
 
      * 
54
 
      * @param mean  the sample mean
55
 
      * @param variance  the sample variance
56
 
      * @param n  the number of observations in the sample 
57
 
      * @param max  the maximum value
58
 
      * @param min  the minimum value
59
 
      * @param sum  the sum of the values
60
 
     */
61
 
    public StatisticalSummaryValues(double mean, double variance, long n,
62
 
        double max, double min, double sum) {
63
 
        super();
64
 
        this.mean = mean;
65
 
        this.variance = variance;
66
 
        this.n = n;
67
 
        this.max = max;
68
 
        this.min = min;
69
 
        this.sum = sum;
70
 
    }
71
 
 
72
 
    /**
73
 
     * @return Returns the max.
74
 
     */
75
 
    public double getMax() {
76
 
        return max;
77
 
    }
78
 
 
79
 
    /**
80
 
     * @return Returns the mean.
81
 
     */
82
 
    public double getMean() {
83
 
        return mean;
84
 
    }
85
 
 
86
 
    /**
87
 
     * @return Returns the min.
88
 
     */
89
 
    public double getMin() {
90
 
        return min;
91
 
    }
92
 
 
93
 
    /**
94
 
     * @return Returns the number of values.
95
 
     */
96
 
    public long getN() {
97
 
        return n;
98
 
    }
99
 
 
100
 
    /**
101
 
     * @return Returns the sum.
102
 
     */
103
 
    public double getSum() {
104
 
        return sum;
105
 
    }
106
 
    
107
 
    /**
108
 
     * @return Returns the standard deviation
109
 
     */
110
 
    public double getStandardDeviation() {
111
 
        return Math.sqrt(variance);
112
 
    }
113
 
 
114
 
    /**
115
 
     * @return Returns the variance.
116
 
     */
117
 
    public double getVariance() {
118
 
        return variance;
119
 
    }
120
 
    
121
 
    /**
122
 
     * Returns true iff <code>object</code> is a 
123
 
     * <code>StatisticalSummaryValues</code> instance and all statistics have
124
 
     *  the same values as this.
125
 
     * 
126
 
     * @param object the object to test equality against.
127
 
     * @return true if object equals this
128
 
     */
129
 
    public boolean equals(Object object) {
130
 
        if (object == this ) {
131
 
            return true;
132
 
        }
133
 
        if (object instanceof StatisticalSummaryValues == false) {
134
 
            return false;
135
 
        }
136
 
        StatisticalSummaryValues stat = (StatisticalSummaryValues) object;
137
 
        return (MathUtils.equals(stat.getMax(), this.getMax()) && 
138
 
                MathUtils.equals(stat.getMean(),this.getMean()) &&
139
 
                MathUtils.equals(stat.getMin(),this.getMin()) &&
140
 
                MathUtils.equals(stat.getN(), this.getN()) &&
141
 
                MathUtils.equals(stat.getSum(), this.getSum()) &&
142
 
                MathUtils.equals(stat.getVariance(),this.getVariance()));
143
 
    }
144
 
    
145
 
    /**
146
 
     * Returns hash code based on values of statistics
147
 
     * 
148
 
     * @return hash code
149
 
     */
150
 
    public int hashCode() {
151
 
        int result = 31 + MathUtils.hash(getMax());
152
 
        result = result * 31 + MathUtils.hash(getMean());
153
 
        result = result * 31 + MathUtils.hash(getMin());
154
 
        result = result * 31 + MathUtils.hash(getN());
155
 
        result = result * 31 + MathUtils.hash(getSum());
156
 
        result = result * 31 + MathUtils.hash(getVariance());
157
 
        return result;
158
 
    }
159
 
 
160
 
}