KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > math > stat > descriptive > StatisticalSummaryValues


1 /*
2  * Copyright 2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.commons.math.stat.descriptive;
17
18 import java.io.Serializable JavaDoc;
19 import org.apache.commons.math.util.MathUtils;
20
21 /**
22  * Value object representing the results of a univariate statistical summary.
23  *
24  * @version $Revision$ $Date: 2005-02-26 05:11:52 -0800 (Sat, 26 Feb 2005) $
25  */

26 public class StatisticalSummaryValues implements Serializable JavaDoc,
27     StatisticalSummary {
28    
29     /** Serialization id */
30     static final long serialVersionUID = -5108854841843722536L;
31
32     /** The sample mean */
33     private final double mean;
34     
35     /** The sample variance */
36     private final double variance;
37     
38     /** The number of observations in the sample */
39     private final long n;
40     
41     /** The maximum value */
42     private final double max;
43     
44     /** The minimum value */
45     private final double min;
46     
47     /** The sum of the sample values */
48     private final double sum;
49     
50     /**
51       * Constructor
52       *
53       * @param mean the sample mean
54       * @param variance the sample variance
55       * @param n the number of observations in the sample
56       * @param max the maximum value
57       * @param min the minimum value
58       * @param sum the sum of the values
59      */

60     public StatisticalSummaryValues(double mean, double variance, long n,
61         double max, double min, double sum) {
62         super();
63         this.mean = mean;
64         this.variance = variance;
65         this.n = n;
66         this.max = max;
67         this.min = min;
68         this.sum = sum;
69     }
70
71     /**
72      * @return Returns the max.
73      */

74     public double getMax() {
75         return max;
76     }
77
78     /**
79      * @return Returns the mean.
80      */

81     public double getMean() {
82         return mean;
83     }
84
85     /**
86      * @return Returns the min.
87      */

88     public double getMin() {
89         return min;
90     }
91
92     /**
93      * @return Returns the number of values.
94      */

95     public long getN() {
96         return n;
97     }
98
99     /**
100      * @return Returns the sum.
101      */

102     public double getSum() {
103         return sum;
104     }
105     
106     /**
107      * @return Returns the standard deviation
108      */

109     public double getStandardDeviation() {
110         return Math.sqrt(variance);
111     }
112
113     /**
114      * @return Returns the variance.
115      */

116     public double getVariance() {
117         return variance;
118     }
119     
120     /**
121      * Returns true iff <code>object</code> is a
122      * <code>StatisticalSummaryValues</code> instance and all statistics have
123      * the same values as this.
124      *
125      * @param object the object to test equality against.
126      * @return true if object equals this
127      */

128     public boolean equals(Object JavaDoc object) {
129         if (object == this ) {
130             return true;
131         }
132         if (object instanceof StatisticalSummaryValues == false) {
133             return false;
134         }
135         StatisticalSummaryValues stat = (StatisticalSummaryValues) object;
136         return (MathUtils.equals(stat.getMax(), this.getMax()) &&
137                 MathUtils.equals(stat.getMean(),this.getMean()) &&
138                 MathUtils.equals(stat.getMin(),this.getMin()) &&
139                 MathUtils.equals(stat.getN(), this.getN()) &&
140                 MathUtils.equals(stat.getSum(), this.getSum()) &&
141                 MathUtils.equals(stat.getVariance(),this.getVariance()));
142     }
143     
144     /**
145      * Returns hash code based on values of statistics
146      *
147      * @return hash code
148      */

149     public int hashCode() {
150         int result = 31 + MathUtils.hash(getMax());
151         result = result * 31 + MathUtils.hash(getMean());
152         result = result * 31 + MathUtils.hash(getMin());
153         result = result * 31 + MathUtils.hash(getN());
154         result = result * 31 + MathUtils.hash(getSum());
155         result = result * 31 + MathUtils.hash(getVariance());
156         return result;
157     }
158
159 }
160
Popular Tags