EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.simucomframework.variables.functions]

COVERAGE SUMMARY FOR SOURCE FILE [LogNormDistFunctionFromMoments.java]

nameclass, %method, %block, %line, %
LogNormDistFunctionFromMoments.java0%   (0/1)0%   (0/3)0%   (0/58)0%   (0/14)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class LogNormDistFunctionFromMoments0%   (0/1)0%   (0/3)0%   (0/58)0%   (0/14)
LogNormDistFunctionFromMoments (IRandomGenerator, IPDFFactory): void 0%   (0/1)0%   (0/5)0%   (0/2)
checkParameters (List): boolean 0%   (0/1)0%   (0/26)0%   (0/7)
evaluate (List): Object 0%   (0/1)0%   (0/27)0%   (0/5)

1package de.uka.ipd.sdq.simucomframework.variables.functions;
2 
3import java.util.List;
4 
5 
6import de.uka.ipd.sdq.probfunction.math.ILognormalDistribution;
7import de.uka.ipd.sdq.probfunction.math.IPDFFactory;
8import de.uka.ipd.sdq.probfunction.math.IRandomGenerator;
9import de.uka.ipd.sdq.simucomframework.variables.converter.NumberConverter;
10 
11/**
12 * Lognormal distribution from the distributions moments: Parameters mean and standard deviation.
13 * @author Anne
14 *
15 */
16public class LogNormDistFunctionFromMoments extends AbstractProbDistFunction {
17        
18 
19        public LogNormDistFunctionFromMoments(IRandomGenerator random, IPDFFactory factory) {
20                super(random, factory);
21        }
22 
23        /**
24         * Checks the validity of the parameter. 
25         * LognormFromMoments takes two parameters mean and standard deviation
26         * mean needs to be larger than 0. 
27         * stdev needs to be larger than 0. 
28         */
29        public boolean checkParameters(List<Object> parameters) {
30                //two parameters mean and c
31                if (parameters.size() != 2)
32                        return false;
33                //mean needs to be larger than 0. 
34                if (NumberConverter.toDouble(parameters.get(0)) < 0)
35                        return false;
36                //stdev needs to be larger than 0. 
37                if (NumberConverter.toDouble(parameters.get(1)) < 0)
38                        return false;                
39                return true;
40        }
41 
42        public Object evaluate(List<Object> parameters) {
43                double mean = NumberConverter.toDouble(parameters.get(0));
44                double stdev = NumberConverter.toDouble(parameters.get(1));
45                double variance = stdev*stdev;
46                ILognormalDistribution distribution = factory.createLognormalDistributionFromMoments(mean, variance);
47                return distribution.inverseF(randomGen.random());
48        }
49 
50}

[all classes][de.uka.ipd.sdq.simucomframework.variables.functions]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov