Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||||||
StatisticalSummaryValues |
|
| 1.4;1.4 |
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; |
|
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, |
|
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 | 22 | super(); |
63 | 22 | this.mean = mean; |
64 | 22 | this.variance = variance; |
65 | 22 | this.n = n; |
66 | 22 | this.max = max; |
67 | 22 | this.min = min; |
68 | 22 | this.sum = sum; |
69 | 22 | } |
70 | ||
71 | /** |
|
72 | * @return Returns the max. |
|
73 | */ |
|
74 | public double getMax() { |
|
75 | 42 | return max; |
76 | } |
|
77 | ||
78 | /** |
|
79 | * @return Returns the mean. |
|
80 | */ |
|
81 | public double getMean() { |
|
82 | 42 | return mean; |
83 | } |
|
84 | ||
85 | /** |
|
86 | * @return Returns the min. |
|
87 | */ |
|
88 | public double getMin() { |
|
89 | 34 | return min; |
90 | } |
|
91 | ||
92 | /** |
|
93 | * @return Returns the number of values. |
|
94 | */ |
|
95 | public long getN() { |
|
96 | 34 | return n; |
97 | } |
|
98 | ||
99 | /** |
|
100 | * @return Returns the sum. |
|
101 | */ |
|
102 | public double getSum() { |
|
103 | 34 | return sum; |
104 | } |
|
105 | ||
106 | /** |
|
107 | * @return Returns the standard deviation |
|
108 | */ |
|
109 | public double getStandardDeviation() { |
|
110 | 16 | return Math.sqrt(variance); |
111 | } |
|
112 | ||
113 | /** |
|
114 | * @return Returns the variance. |
|
115 | */ |
|
116 | public double getVariance() { |
|
117 | 34 | 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 object) { |
|
129 | 14 | if (object == this ) { |
130 | 2 | return true; |
131 | } |
|
132 | 12 | if (object instanceof StatisticalSummaryValues == false) { |
133 | 4 | return false; |
134 | } |
|
135 | 8 | StatisticalSummaryValues stat = (StatisticalSummaryValues) object; |
136 | 8 | 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 | 10 | int result = 31 + MathUtils.hash(getMax()); |
151 | 10 | result = result * 31 + MathUtils.hash(getMean()); |
152 | 10 | result = result * 31 + MathUtils.hash(getMin()); |
153 | 10 | result = result * 31 + MathUtils.hash(getN()); |
154 | 10 | result = result * 31 + MathUtils.hash(getSum()); |
155 | 10 | result = result * 31 + MathUtils.hash(getVariance()); |
156 | 10 | return result; |
157 | } |
|
158 | ||
159 | } |