EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.probfunction.math.apache.distribution]

COVERAGE SUMMARY FOR SOURCE FILE [GammaDistributionFromMomentsImpl.java]

nameclass, %method, %block, %line, %
GammaDistributionFromMomentsImpl.java0%   (0/1)0%   (0/3)0%   (0/19)0%   (0/4)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class GammaDistributionFromMomentsImpl0%   (0/1)0%   (0/3)0%   (0/19)0%   (0/4)
GammaDistributionFromMomentsImpl (double, double): void 0%   (0/1)0%   (0/9)0%   (0/2)
calculateAlpha (double, double): double 0%   (0/1)0%   (0/6)0%   (0/1)
calculateTheta (double, double): double 0%   (0/1)0%   (0/4)0%   (0/1)

1package de.uka.ipd.sdq.probfunction.math.apache.distribution;
2 
3import org.apache.commons.math.distribution.GammaDistributionImpl;
4 
5/**
6 * SDQ implementation of GammaDistFromMoments based on apache.commons.math
7 * 
8 * @author joerg
9 *
10 */
11public class GammaDistributionFromMomentsImpl extends GammaDistributionImpl
12{
13        /** Serializable version identifier */
14        private static final long serialVersionUID = -6141545702288594591L;
15 
16        /**
17         * Create a new gamma distribution with the given mean and variance values.
18         * 
19         * @param mean The mean value
20         * @param variance The variance value
21         */
22         public GammaDistributionFromMomentsImpl (double mean, double variance) 
23         {
24             super (calculateAlpha (mean, variance), calculateTheta (mean, variance));
25           }
26 
27         /**
28          * Calculate alpha from mean and variance.
29          * mean = alpha*theta
30          * 
31          * alpha = mean/theta
32          * 
33         * @param mean The mean value
34         * @param variance The variance value
35          * @return alpha The alpha value
36          */
37           private static double calculateAlpha (double mean, double variance) {
38                  // return (mean*mean)/variance;
39              return mean/calculateTheta (mean, variance);
40           }
41          
42           /**
43           * Calculate theta from mean and variance.
44           * variance = alpha*theta2
45           * alpha = mean/theta
46           * variance = mean*theta
47           * theta = variance/mean
48           * 
49           * @param mean The mean value
50           * @param variance The variance value
51           * @return theta The theta value
52           */
53           private static double calculateTheta (double mean, double variance) {
54                      
55                      return variance/mean;
56                   }
57 
58           
59 
60 
61}

[all classes][de.uka.ipd.sdq.probfunction.math.apache.distribution]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov