Coverage Report - org.apache.commons.math.stat.descriptive.StatisticalSummaryValues

Classes in this File Line Coverage Branch Coverage Complexity
StatisticalSummaryValues
100% 
100% 
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  
 }