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
9
* http://www.apache.org/licenses/LICENSE-2.0
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.
17
package org.apache.commons.math.stat.descriptive;
19
import java.io.Serializable;
20
import org.apache.commons.math.util.MathUtils;
23
* Value object representing the results of a univariate statistical summary.
25
* @version $Revision: 480440 $ $Date: 2006-11-29 00:14:12 -0700 (Wed, 29 Nov 2006) $
27
public class StatisticalSummaryValues implements Serializable,
30
/** Serialization id */
31
private static final long serialVersionUID = -5108854841843722536L;
33
/** The sample mean */
34
private final double mean;
36
/** The sample variance */
37
private final double variance;
39
/** The number of observations in the sample */
42
/** The maximum value */
43
private final double max;
45
/** The minimum value */
46
private final double min;
48
/** The sum of the sample values */
49
private final double sum;
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
61
public StatisticalSummaryValues(double mean, double variance, long n,
62
double max, double min, double sum) {
65
this.variance = variance;
73
* @return Returns the max.
75
public double getMax() {
80
* @return Returns the mean.
82
public double getMean() {
87
* @return Returns the min.
89
public double getMin() {
94
* @return Returns the number of values.
101
* @return Returns the sum.
103
public double getSum() {
108
* @return Returns the standard deviation
110
public double getStandardDeviation() {
111
return Math.sqrt(variance);
115
* @return Returns the variance.
117
public double getVariance() {
122
* Returns true iff <code>object</code> is a
123
* <code>StatisticalSummaryValues</code> instance and all statistics have
124
* the same values as this.
126
* @param object the object to test equality against.
127
* @return true if object equals this
129
public boolean equals(Object object) {
130
if (object == this ) {
133
if (object instanceof StatisticalSummaryValues == false) {
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()));
146
* Returns hash code based on values of statistics
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());