Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>GumbelDistribution</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.html" class="el_package">org.apache.commons.math3.distribution</a> > <span class="el_class">GumbelDistribution</span></div><h1>GumbelDistribution</h1><table class="coverage" cellspacing="0" id="coveragetable"><t head><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 137</td><td class="ctr2">80%</td><td class="bar">3 of 10</td><td class="ctr2">70%</td><td class="ctr1">5</td><td class="ctr2">19</td ><td class="ctr1">5</td><td class="ctr2">29</td><td class="ctr1">2</td><td >class="ctr2">14</td></tr></tfoot><tbody><tr><td id="a3"><a >href="GumbelDistribution.java.html#L126" >class="el_method">getNumericalMean()</a></td><td class="bar" id="b0"><img >src="../.resources/redbar.gif" width="23" height="10" title="8" >alt="8"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d2"/><td >class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" >id="g2">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" >id="i5">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" >id="k0">1</td></tr><tr><td id="a4"><a >href="GumbelDistribution.java.html#L131" >class="el_method">getNumericalVariance()</a></td><td class="bar" id="b1"><img >src="../.resources/redbar.gif" width="23" height="10" title="8" >alt="8"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d3"/><td >class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" >id="g3">1</td><td class="ctr1" id ="h2">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a9"><a href="GumbelDistribution.java.html#L71" class="el_method">GumbelDistribution(RandomGenerator, double, double)</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="20" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="40" height="10" title="14" alt="14"/></td><td class="ctr2" id="c11">67%</td><td class="bar" id="d1"><img src="../.resources/redbar.gif" width="15" height="10" title="1" alt="1"/><img src="../.resources/greenbar.gif" width="15" height="10" title="1" alt="1"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a10"><a href="GumbelDistribution.java.html#L114" class="el_method">inverseCumulativeProbability(double)< /a></td><td class="bar" id="b3"><img src="../.resources/redbar.gif" width="11" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="108" height="10" title="37" alt="37"/></td><td class="ctr2" id="c10">90%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="30" height="10" title="2" alt="2"/><img src="../.resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">75%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="GumbelDistribution.java.html#L101" class="el_method">density(double)</a></td><td class="bar" id="b4"><img src="../.resources/greenbar.gif" width="61" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" i d="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="GumbelDistribution.java.html#L108" class="el_method">cumulativeProbability(double)</a></td><td class="bar" id="b5"><img src="../.resources/greenbar.gif" width="40" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="GumbelDistribution.java.html#L59" class="el_method">GumbelDistribution(double, double)</a></td><td class="bar" id="b6"><img src="../.resources/greenbar.gif" width="23" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6" >0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td >class="ctr2" id="i4">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" >id="k6">1</td></tr><tr><td id="a2"><a href="GumbelDistribution.java.html#L87" >class="el_method">getLocation()</a></td><td class="bar" id="b7"><img >src="../.resources/greenbar.gif" width="8" height="10" title="3" >alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"/><td >class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" >id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" >id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" >id="k7">1</td></tr><tr><td id="a5"><a href="GumbelDistribution.java.html#L96" >class="el_method">getScale()</a></td><td class="bar" id="b8"><img >src="../.resources/greenbar.gif" width="8" height="10" title="3" >alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d8"/><td >class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ct r2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="GumbelDistribution.java.html#L136" class="el_method">getSupportLowerBound()</a></td><td class="bar" id="b9"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a7"><a href="GumbelDistribution.java.html#L141" class="el_method">getSupportUpperBound()</a></td><td class="bar" id="b10"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td cl ass="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a12"><a href="GumbelDistribution.java.html#L146" class="el_method">isSupportLowerBoundInclusive()</a></td><td class="bar" id="b11"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a13"><a href="GumbelDistribution.java.html#L151" class="el_method">isSupportUpperBoundInclusive()</a></td><td class="bar" id="b12"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td ><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td >class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" >id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a11"><a >href="GumbelDistribution.java.html#L156" >class="el_method">isSupportConnected()</a></td><td class="bar" id="b13"><img >src="../.resources/greenbar.gif" width="5" height="10" title="2" >alt="2"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d13"/><td >class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td >class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" >id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" >id="k13">1</td></tr></tbody></table><div class="footer"><span >class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> >0.7.0.201403182114</span></div></body></html> \ No newline at end of file
Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.java.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.java.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.java.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1,160 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>GumbelDistribution.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.source.html" class="el_package">org.apache.commons.math3.distribution</a> > <span class="el_source">GumbelDistributio n.java</span></div><h1>GumbelDistribution.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.math3.distribution; + +import org.apache.commons.math3.exception.NotStrictlyPositiveException; +import org.apache.commons.math3.exception.OutOfRangeException; +import org.apache.commons.math3.exception.util.LocalizedFormats; +import org.apache.commons.math3.random.RandomGenerator; +import org.apache.commons.math3.random.Well19937c; +import org.apache.commons.math3.util.FastMath; +import org.apache.commons.math3.util.MathUtils; + +/** + * This class implements the Gumbel distribution. + * + * @see <a href="http://en.wikipedia.org/wiki/Gumbel_distribution">Gumbel Distribution (Wikipedia)</a> + * @see <a href="http://mathworld.wolfram.com/GumbelDistribution.html">Gumbel Distribution (Mathworld)</a> + * + * @since 3.4 + */ +public class GumbelDistribution extends AbstractRealDistribution { + + /** Serializable version identifier. */ + private static final long serialVersionUID = 20141003; + + /** + * Approximation of Euler's constant + * see http://mathworld.wolfram.com/Euler-MascheroniConstantApproximations.html + */ + private static final double EULER = FastMath.PI / (2 * FastMath.E); + + /** The location parameter. */ + private final double mu; + /** The scale parameter. */ + private final double beta; + + /** + * Build a new instance. + * + * @param mu location parameter + * @param beta scale parameter (must be positive) + * @throws NotStrictlyPositiveException if {@code beta <= 0} + */ + public GumbelDistribution(double mu, double beta) { +<span class="fc" id="L59"> this(new Well19937c(), mu, beta);</span> +<span class="fc" id="L60"> }</span> + + /** + * Build a new instance. + * + * @param rng Random number generator + * @param mu location parameter + * @param beta scale parameter (must be positive) + * @throws NotStrictlyPositiveException if {@code beta <= 0} + */ + public GumbelDistribution(RandomGenerator rng, double mu, double beta) { +<span class="fc" id="L71"> super(rng);</span> + +<span class="pc bpc" id="L73" title="1 of 2 branches missed."> if (beta <= 0) {</span> +<span class="nc" id="L74"> throw new NotStrictlyPositiveException(LocalizedFormats.SCALE, beta);</span> + } + +<span class="fc" id="L77"> this.beta = beta;</span> +<span class="fc" id="L78"> this.mu = mu;</span> +<span class="fc" id="L79"> }</span> + + /** + * Access the location parameter, {@code mu}. + * + * @return the location parameter. + */ + public double getLocation() { +<span class="fc" id="L87"> return mu;</span> + } + + /** + * Access the scale parameter, {@code beta}. + * + * @return the scale parameter. + */ + public double getScale() { +<span class="fc" id="L96"> return beta;</span> + } + + /** {@inheritDoc} */ + public double density(double x) { +<span class="fc" id="L101"> final double z = (x - mu) / beta;</span> +<span class="fc" id="L102"> final double t = FastMath.exp(-z);</span> +<span class="fc" id="L103"> return FastMath.exp(-z - t) / beta;</span> + } + + /** {@inheritDoc} */ + public double cumulativeProbability(double x) { +<span class="fc" id="L108"> final double z = (x - mu) / beta;</span> +<span class="fc" id="L109"> return FastMath.exp(-FastMath.exp(-z));</span> + } + + @Override + public double inverseCumulativeProbability(double p) throws OutOfRangeException { +<span class="fc bfc" id="L114" title="All 4 branches covered."> if (p < 0.0 || p > 1.0) {</span> +<span class="fc" id="L115"> throw new OutOfRangeException(p, 0.0, 1.0);</span> +<span class="pc bpc" id="L116" title="1 of 2 branches missed."> } else if (p == 0) {</span> +<span class="nc" id="L117"> return Double.NEGATIVE_INFINITY;</span> +<span class="pc bpc" id="L118" title="1 of 2 branches missed."> } else if (p == 1) {</span> +<span class="nc" id="L119"> return Double.POSITIVE_INFINITY;</span> + } +<span class="fc" id="L121"> return mu - FastMath.log(-FastMath.log(p)) * beta;</span> + } + + /** {@inheritDoc} */ + public double getNumericalMean() { +<span class="nc" id="L126"> return mu + EULER * beta;</span> + } + + /** {@inheritDoc} */ + public double getNumericalVariance() { +<span class="nc" id="L131"> return (MathUtils.PI_SQUARED) / 6.0 * (beta * beta);</span> + } + + /** {@inheritDoc} */ + public double getSupportLowerBound() { +<span class="fc" id="L136"> return Double.NEGATIVE_INFINITY;</span> + } + + /** {@inheritDoc} */ + public double getSupportUpperBound() { +<span class="fc" id="L141"> return Double.POSITIVE_INFINITY;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportLowerBoundInclusive() { +<span class="fc" id="L146"> return false;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportUpperBoundInclusive() { +<span class="fc" id="L151"> return false;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportConnected() { +<span class="fc" id="L156"> return true;</span> + } + +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.java.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/GumbelDistribution.java.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>LaplaceDistribution</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.html" class="el_package">org.apache.commons.math3.distribution</a> > <span class="el_class">LaplaceDistribution</span></div><h1>LaplaceDistribution</h1><table class="coverage" cellspacing="0" id="coveragetable" ><thead><tr><td class="sortable" id="a" >onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" >onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" >id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" >onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" >id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" >onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" >onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" >onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" >onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" >onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" >onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td > class="bar">22 of 156</td><td class="ctr2">86%</td><td class="bar">3 of >14</td><td class="ctr2">79%</td><td class="ctr1">5</td><td class="ctr2">21< /td><td class="ctr1">5</td><td class="ctr2">29</td><td class="ctr1">2</td><td class="ctr2">14</td></tr></tfoot><tbody><tr><td id="a4"><a href="LaplaceDistribution.java.html#L125" class="el_method">getNumericalVariance()</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a13"><a href="LaplaceDistribution.java.html#L63" class="el_method">LaplaceDistribution(RandomGenerator, double, double)</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="15" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="30" height="10" title="14" alt="14"/></td><td class="ctr2" id="c11">67%</td><td class="bar" i d="d1"><img src="../.resources/redbar.gif" width="12" height="10" title="1" alt="1"/><img src="../.resources/greenbar.gif" width="12" height="10" title="1" alt="1"/></td><td class="ctr2" id="e2">50%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="LaplaceDistribution.java.html#L107" class="el_method">inverseCumulativeProbability(double)</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="8" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="111" height="10" title="51" alt="51"/></td><td class="ctr2" id="c10">93%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="24" height="10" title="2" alt="2"/><img src="../.resources/greenbar.gif" width="96" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">80%</td><td class="ctr1" id="f0">2</td><td c lass="ctr2" id="g0">6</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="LaplaceDistribution.java.html#L120" class="el_method">getNumericalMean()</a></td><td class="bar" id="b3"><img src="../.resources/redbar.gif" width="6" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="LaplaceDistribution.java.html#L98" class="el_method">cumulativeProbability(double)</a></td><td class="bar" id="b4"><img src="../.resources/greenbar.gif" width="63" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"><img src="../.resources/greenbar.gif" width="24" height="10" ti tle="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="LaplaceDistribution.java.html#L93" class="el_method">density(double)</a></td><td class="bar" id="b5"><img src="../.resources/greenbar.gif" width="34" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a12"><a href="LaplaceDistribution.java.html#L51" class="el_method">LaplaceDistribution(double, double)</a></td><td class="bar" id="b6"><img src="../.resources/greenbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="c 2">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a2"><a href="LaplaceDistribution.java.html#L79" class="el_method">getLocation()</a></td><td class="bar" id="b7"><img src="../.resources/greenbar.gif" width="6" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="LaplaceDistribution.java.html#L88" class="el_method">getScale()</a></td><td class="bar" id="b8"><img src="../.resources/greenbar.gif" width="6" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td cl ass="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="LaplaceDistribution.java.html#L130" class="el_method">getSupportLowerBound()</a></td><td class="bar" id="b9"><img src="../.resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a7"><a href="LaplaceDistribution.java.html#L135" class="el_method">getSupportUpperBound()</a></td><td class="bar" id="b10"><img src="../.resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c6">100%</td> <td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a10"><a href="LaplaceDistribution.java.html#L140" class="el_method">isSupportLowerBoundInclusive()</a></td><td class="bar" id="b11"><img src="../.resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a11"><a href="LaplaceDistribution.java.html#L145" class="el_method">isSupportUpperBoundInclusive()</a></td><td class="bar" id="b12"><img src="../.resources/greenbar.gif" width="4" height="10" title="2" alt="2" /></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a9"><a href="LaplaceDistribution.java.html#L150" class="el_method">isSupportConnected()</a></td><td class="bar" id="b13"><img src="../.resources/greenbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.java.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.java.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.java.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>LaplaceDistribution.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.source.html" class="el_package">org.apache.commons.math3.distribution</a> > <span class="el_source">LaplaceDistribut ion.java</span></div><h1>LaplaceDistribution.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.math3.distribution; + +import org.apache.commons.math3.exception.NotStrictlyPositiveException; +import org.apache.commons.math3.exception.OutOfRangeException; +import org.apache.commons.math3.exception.util.LocalizedFormats; +import org.apache.commons.math3.random.RandomGenerator; +import org.apache.commons.math3.random.Well19937c; +import org.apache.commons.math3.util.FastMath; + +/** + * This class implements the Laplace distribution. + * + * @see <a href="http://en.wikipedia.org/wiki/Laplace_distribution">Laplace distribution (Wikipedia)</a> + * + * @since 3.4 + */ +public class LaplaceDistribution extends AbstractRealDistribution { + + /** Serializable version identifier. */ + private static final long serialVersionUID = 20141003; + + /** The location parameter. */ + private final double mu; + /** The scale parameter. */ + private final double beta; + + /** + * Build a new instance. + * + * @param mu location parameter + * @param beta scale parameter (must be positive) + * @throws NotStrictlyPositiveException if {@code beta <= 0} + */ + public LaplaceDistribution(double mu, double beta) { +<span class="fc" id="L51"> this(new Well19937c(), mu, beta);</span> +<span class="fc" id="L52"> }</span> + + /** + * Build a new instance. + * + * @param rng Random number generator + * @param mu location parameter + * @param beta scale parameter (must be positive) + * @throws NotStrictlyPositiveException if {@code beta <= 0} + */ + public LaplaceDistribution(RandomGenerator rng, double mu, double beta) { +<span class="fc" id="L63"> super(rng);</span> + +<span class="pc bpc" id="L65" title="1 of 2 branches missed."> if (beta <= 0.0) {</span> +<span class="nc" id="L66"> throw new NotStrictlyPositiveException(LocalizedFormats.NOT_POSITIVE_SCALE, beta);</span> + } + +<span class="fc" id="L69"> this.mu = mu;</span> +<span class="fc" id="L70"> this.beta = beta;</span> +<span class="fc" id="L71"> }</span> + + /** + * Access the location parameter, {@code mu}. + * + * @return the location parameter. + */ + public double getLocation() { +<span class="fc" id="L79"> return mu;</span> + } + + /** + * Access the scale parameter, {@code beta}. + * + * @return the scale parameter. + */ + public double getScale() { +<span class="fc" id="L88"> return beta;</span> + } + + /** {@inheritDoc} */ + public double density(double x) { +<span class="fc" id="L93"> return FastMath.exp(-FastMath.abs(x - mu) / beta) / (2.0 * beta);</span> + } + + /** {@inheritDoc} */ + public double cumulativeProbability(double x) { +<span class="fc bfc" id="L98" title="All 2 branches covered."> if (x <= mu) {</span> +<span class="fc" id="L99"> return FastMath.exp((x - mu) / beta) / 2.0;</span> + } else { +<span class="fc" id="L101"> return 1.0 - FastMath.exp((mu - x) / beta) / 2.0;</span> + } + } + + @Override + public double inverseCumulativeProbability(double p) throws OutOfRangeException { +<span class="fc bfc" id="L107" title="All 4 branches covered."> if (p < 0.0 || p > 1.0) {</span> +<span class="fc" id="L108"> throw new OutOfRangeException(p, 0.0, 1.0);</span> +<span class="pc bpc" id="L109" title="1 of 2 branches missed."> } else if (p == 0) {</span> +<span class="nc" id="L110"> return 0.0;</span> +<span class="pc bpc" id="L111" title="1 of 2 branches missed."> } else if (p == 1) {</span> +<span class="nc" id="L112"> return Double.POSITIVE_INFINITY;</span> + } +<span class="fc bfc" id="L114" title="All 2 branches covered."> double x = (p > 0.5) ? -Math.log(2.0 - 2.0 * p) : Math.log(2.0 * p);</span> +<span class="fc" id="L115"> return mu + beta * x;</span> + } + + /** {@inheritDoc} */ + public double getNumericalMean() { +<span class="nc" id="L120"> return mu;</span> + } + + /** {@inheritDoc} */ + public double getNumericalVariance() { +<span class="nc" id="L125"> return 2.0 * beta * beta;</span> + } + + /** {@inheritDoc} */ + public double getSupportLowerBound() { +<span class="fc" id="L130"> return Double.NEGATIVE_INFINITY;</span> + } + + /** {@inheritDoc} */ + public double getSupportUpperBound() { +<span class="fc" id="L135"> return Double.POSITIVE_INFINITY;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportLowerBoundInclusive() { +<span class="fc" id="L140"> return false;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportUpperBoundInclusive() { +<span class="fc" id="L145"> return false;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportConnected() { +<span class="fc" id="L150"> return true;</span> + } + +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.java.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LaplaceDistribution.java.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>LogisticDistribution</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.html" class="el_package">org.apache.commons.math3.distribution</a> > <span class="el_class">LogisticDistribution</span></div><h1>LogisticDistribution</h1><table class="coverage" cellspacing="0" id="coveragetab le"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">24 of 146</td><td class="ctr2">84%</td><td class="bar">3 of 10</td><td class="ctr2">70%</td><td class="ctr1">5</td><td class="ctr2"> 19</td><td class="ctr1">5</td><td class="ctr2">29</td><td class="ctr1">2</td><td class="ctr2">14</td></tr></tfoot><tbody><tr><td id="a4"><a href="LogisticDistribution.java.html#L125" class="el_method">getNumericalVariance()</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="27" height="10" title="10" alt="10"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a13"><a href="LogisticDistribution.java.html#L65" class="el_method">LogisticDistribution(RandomGenerator, double, double)</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="19" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="39" height="10" title="14" alt="14"/></td><td class="ctr2" id="c11">67%</td><td class ="bar" id="d1"><img src="../.resources/redbar.gif" width="15" height="10" title="1" alt="1"/><img src="../.resources/greenbar.gif" width="15" height="10" title="1" alt="1"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="LogisticDistribution.java.html#L108" class="el_method">inverseCumulativeProbability(double)</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="11" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="108" height="10" title="39" alt="39"/></td><td class="ctr2" id="c10">91%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="30" height="10" title="2" alt="2"/><img src="../.resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">75%</td><td class="ctr1" id="f0">2 </td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="LogisticDistribution.java.html#L120" class="el_method">getNumericalMean()</a></td><td class="bar" id="b3"><img src="../.resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="LogisticDistribution.java.html#L95" class="el_method">density(double)</a></td><td class="bar" id="b4"><img src="../.resources/greenbar.gif" width="75" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td> <td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="LogisticDistribution.java.html#L102" class="el_method">cumulativeProbability(double)</a></td><td class="bar" id="b5"><img src="../.resources/greenbar.gif" width="50" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a12"><a href="LogisticDistribution.java.html#L53" class="el_method">LogisticDistribution(double, double)</a></td><td class="bar" id="b6"><img src="../.resources/greenbar.gif" width="22" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td ><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td >class="ctr1" id="h6">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" >id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a2"><a >href="LogisticDistribution.java.html#L81" >class="el_method">getLocation()</a></td><td class="bar" id="b7"><img >src="../.resources/greenbar.gif" width="8" height="10" title="3" >alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"/><td >class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" >id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" >id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" >id="k7">1</td></tr><tr><td id="a5"><a >href="LogisticDistribution.java.html#L90" >class="el_method">getScale()</a></td><td class="bar" id="b8"><img >src="../.resources/greenbar.gif" width="8" height="10" title="3" >alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d8"/><td >class="ctr2" id="e8">n/a</td><td class="ctr1 " id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="LogisticDistribution.java.html#L130" class="el_method">getSupportLowerBound()</a></td><td class="bar" id="b9"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a7"><a href="LogisticDistribution.java.html#L135" class="el_method">getSupportUpperBound()</a></td><td class="bar" id="b10"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td c lass="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a10"><a href="LogisticDistribution.java.html#L140" class="el_method">isSupportLowerBoundInclusive()</a></td><td class="bar" id="b11"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a11"><a href="LogisticDistribution.java.html#L145" class="el_method">isSupportUpperBoundInclusive()</a></td><td class="bar" id="b12"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d1 2"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a9"><a href="LogisticDistribution.java.html#L150" class="el_method">isSupportConnected()</a></td><td class="bar" id="b13"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.java.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.java.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.java.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>LogisticDistribution.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.source.html" class="el_package">org.apache.commons.math3.distribution</a> > <span class="el_source">LogisticDistrib ution.java</span></div><h1>LogisticDistribution.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.math3.distribution; + +import org.apache.commons.math3.exception.NotStrictlyPositiveException; +import org.apache.commons.math3.exception.OutOfRangeException; +import org.apache.commons.math3.exception.util.LocalizedFormats; +import org.apache.commons.math3.random.RandomGenerator; +import org.apache.commons.math3.random.Well19937c; +import org.apache.commons.math3.util.FastMath; +import org.apache.commons.math3.util.MathUtils; + +/** + * This class implements the Logistic distribution. + * + * @see <a href="http://en.wikipedia.org/wiki/Logistic_distribution">Logistic Distribution (Wikipedia)</a> + * @see <a href="http://mathworld.wolfram.com/LogisticDistribution.html">Logistic Distribution (Mathworld)</a> + * + * @since 3.4 + */ +public class LogisticDistribution extends AbstractRealDistribution { + + /** Serializable version identifier. */ + private static final long serialVersionUID = 20141003; + + /** The location parameter. */ + private final double mu; + /** The scale parameter. */ + private final double s; + + /** + * Build a new instance. + * + * @param mu location parameter + * @param s scale parameter (must be positive) + * @throws NotStrictlyPositiveException if {@code beta <= 0} + */ + public LogisticDistribution(double mu, double s) { +<span class="fc" id="L53"> this(new Well19937c(), mu, s);</span> +<span class="fc" id="L54"> }</span> + + /** + * Build a new instance. + * + * @param rng Random number generator + * @param mu location parameter + * @param s scale parameter (must be positive) + * @throws NotStrictlyPositiveException if {@code beta <= 0} + */ + public LogisticDistribution(RandomGenerator rng, double mu, double s) { +<span class="fc" id="L65"> super(rng);</span> + +<span class="pc bpc" id="L67" title="1 of 2 branches missed."> if (s <= 0.0) {</span> +<span class="nc" id="L68"> throw new NotStrictlyPositiveException(LocalizedFormats.NOT_POSITIVE_SCALE, s);</span> + } + +<span class="fc" id="L71"> this.mu = mu;</span> +<span class="fc" id="L72"> this.s = s;</span> +<span class="fc" id="L73"> }</span> + + /** + * Access the location parameter, {@code mu}. + * + * @return the location parameter. + */ + public double getLocation() { +<span class="fc" id="L81"> return mu;</span> + } + + /** + * Access the scale parameter, {@code s}. + * + * @return the scale parameter. + */ + public double getScale() { +<span class="fc" id="L90"> return s;</span> + } + + /** {@inheritDoc} */ + public double density(double x) { +<span class="fc" id="L95"> double z = (x - mu) / s;</span> +<span class="fc" id="L96"> double v = FastMath.exp(-z);</span> +<span class="fc" id="L97"> return 1 / s * v / ((1.0 + v) * (1.0 + v));</span> + } + + /** {@inheritDoc} */ + public double cumulativeProbability(double x) { +<span class="fc" id="L102"> double z = 1 / s * (x - mu);</span> +<span class="fc" id="L103"> return 1.0 / (1.0 + FastMath.exp(-z));</span> + } + + @Override + public double inverseCumulativeProbability(double p) throws OutOfRangeException { +<span class="fc bfc" id="L108" title="All 4 branches covered."> if (p < 0.0 || p > 1.0) {</span> +<span class="fc" id="L109"> throw new OutOfRangeException(p, 0.0, 1.0);</span> +<span class="pc bpc" id="L110" title="1 of 2 branches missed."> } else if (p == 0) {</span> +<span class="nc" id="L111"> return 0.0;</span> +<span class="pc bpc" id="L112" title="1 of 2 branches missed."> } else if (p == 1) {</span> +<span class="nc" id="L113"> return Double.POSITIVE_INFINITY;</span> + } +<span class="fc" id="L115"> return s * Math.log(p / (1.0 - p)) + mu;</span> + } + + /** {@inheritDoc} */ + public double getNumericalMean() { +<span class="nc" id="L120"> return mu;</span> + } + + /** {@inheritDoc} */ + public double getNumericalVariance() { +<span class="nc" id="L125"> return (MathUtils.PI_SQUARED / 3.0) * (1.0 / (s * s));</span> + } + + /** {@inheritDoc} */ + public double getSupportLowerBound() { +<span class="fc" id="L130"> return Double.NEGATIVE_INFINITY;</span> + } + + /** {@inheritDoc} */ + public double getSupportUpperBound() { +<span class="fc" id="L135"> return Double.POSITIVE_INFINITY;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportLowerBoundInclusive() { +<span class="fc" id="L140"> return false;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportUpperBoundInclusive() { +<span class="fc" id="L145"> return false;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportConnected() { +<span class="fc" id="L150"> return true;</span> + } + +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.java.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/LogisticDistribution.java.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>NakagamiDistribution</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.html" class="el_package">org.apache.commons.math3.distribution</a> > <span class="el_class">NakagamiDistribution</span></div><h1>NakagamiDistribution</h1><table class="coverage" cellspacing="0" id="coveragetab le"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">16 of 170</td><td class="ctr2">91%</td><td class="bar">2 of 6</td><td class="ctr2">67%</td><td class="ctr1">2</td><td class="ctr2">1 8</td><td class="ctr1">2</td><td class="ctr2">28</td><td class="ctr1">0</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a14"><a href="NakagamiDistribution.java.html#L87" class="el_method">NakagamiDistribution(RandomGenerator, double, double, double)</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="42" height="10" title="16" alt="16"/><img src="../.resources/greenbar.gif" width="56" height="10" title="21" alt="21"/></td><td class="ctr2" id="c14">57%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="60" height="10" title="2" alt="2"/><img src="../.resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="NakagamiDistribution.java.html#L126" class="el_method">density(dou ble)</a></td><td class="bar" id="b1"><img src="../.resources/greenbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../.resources/greenbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="NakagamiDistribution.java.html#L145" class="el_method">getNumericalVariance()</a></td><td class="bar" id="b2"><img src="../.resources/greenbar.gif" width="64" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr ><tr><td id="a2"><a href="NakagamiDistribution.java.html#L140" >class="el_method">getNumericalMean()</a></td><td class="bar" id="b3"><img >src="../.resources/greenbar.gif" width="45" height="10" title="17" >alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td >class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" >id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" >id="i5">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" >id="k3">1</td></tr><tr><td id="a0"><a >href="NakagamiDistribution.java.html#L135" >class="el_method">cumulativeProbability(double)</a></td><td class="bar" >id="b4"><img src="../.resources/greenbar.gif" width="34" height="10" >title="13" alt="13"/></td><td class="ctr2" id="c3">100%</td><td class="bar" >id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td >class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" >id="i6">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id ="k4">1</td></tr><tr><td id="a13"><a href="NakagamiDistribution.java.html#L72" class="el_method">NakagamiDistribution(double, double, double)</a></td><td class="bar" id="b5"><img src="../.resources/greenbar.gif" width="24" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a12"><a href="NakagamiDistribution.java.html#L58" class="el_method">NakagamiDistribution(double, double)</a></td><td class="bar" id="b6"><img src="../.resources/greenbar.gif" width="16" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">2</td><td c lass="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a5"><a href="NakagamiDistribution.java.html#L107" class="el_method">getShape()</a></td><td class="bar" id="b7"><img src="../.resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a4"><a href="NakagamiDistribution.java.html#L116" class="el_method">getScale()</a></td><td class="bar" id="b8"><img src="../.resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j 8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="NakagamiDistribution.java.html#L121" class="el_method">getSolverAbsoluteAccuracy()</a></td><td class="bar" id="b9"><img src="../.resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a7"><a href="NakagamiDistribution.java.html#L151" class="el_method">getSupportLowerBound()</a></td><td class="bar" id="b10"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a8"><a href="NakagamiDistribution.java.html#L156" class="el_method">getSupportUpperBound()</a></td><td class="bar" id="b11"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c10">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a10"><a href="NakagamiDistribution.java.html#L161" class="el_method">isSupportLowerBoundInclusive()</a></td><td class="bar" id="b12"><img src="../.resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td ><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td >class="ctr2" id="k12">1</td></tr><tr><td id="a11"><a >href="NakagamiDistribution.java.html#L166" >class="el_method">isSupportUpperBoundInclusive()</a></td><td class="bar" >id="b13"><img src="../.resources/greenbar.gif" width="5" height="10" >title="2" alt="2"/></td><td class="ctr2" id="c12">100%</td><td class="bar" >id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" >id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" >id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" >id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a9"><a >href="NakagamiDistribution.java.html#L171" >class="el_method">isSupportConnected()</a></td><td class="bar" id="b14"><img >src="../.resources/greenbar.gif" width="5" height="10" title="2" >alt="2"/></td><td class="ctr2" id="c13">100%</td><td class="bar" >id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" >id="f14">0</td><td class="ctr2" id="g14">1</ td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.java.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.java.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.java.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1,175 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>NakagamiDistribution.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.source.html" class="el_package">org.apache.commons.math3.distribution</a> > <span class="el_source">NakagamiDistrib ution.java</span></div><h1>NakagamiDistribution.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.math3.distribution; + +import org.apache.commons.math3.exception.NotStrictlyPositiveException; +import org.apache.commons.math3.exception.NumberIsTooSmallException; +import org.apache.commons.math3.exception.util.LocalizedFormats; +import org.apache.commons.math3.random.RandomGenerator; +import org.apache.commons.math3.random.Well19937c; +import org.apache.commons.math3.special.Gamma; +import org.apache.commons.math3.util.FastMath; + +/** + * This class implements the Nakagami distribution. + * + * @see <a href="http://en.wikipedia.org/wiki/Nakagami_distribution">Nakagami Distribution (Wikipedia)</a> + * + * @since 3.4 + */ +public class NakagamiDistribution extends AbstractRealDistribution { + + /** Default inverse cumulative probability accuracy. */ + public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY = 1e-9; + + /** Serializable version identifier. */ + private static final long serialVersionUID = 20141003; + + /** The shape parameter. */ + private final double mu; + /** The scale parameter. */ + private final double omega; + /** Inverse cumulative probability accuracy. */ + private final double inverseAbsoluteAccuracy; + + /** + * Build a new instance. + * + * @param mu shape parameter + * @param omega scale parameter (must be positive) + * @throws NumberIsTooSmallException if {@code mu < 0.5} + * @throws NotStrictlyPositiveException if {@code omega <= 0} + */ + public NakagamiDistribution(double mu, double omega) { +<span class="fc" id="L58"> this(mu, omega, DEFAULT_INVERSE_ABSOLUTE_ACCURACY);</span> +<span class="fc" id="L59"> }</span> + + /** + * Build a new instance. + * + * @param mu shape parameter + * @param omega scale parameter (must be positive) + * @param inverseAbsoluteAccuracy the maximum absolute error in inverse + * cumulative probability estimates (defaults to {@link #DEFAULT_INVERSE_ABSOLUTE_ACCURACY}). + * @throws NumberIsTooSmallException if {@code mu < 0.5} + * @throws NotStrictlyPositiveException if {@code omega <= 0} + */ + public NakagamiDistribution(double mu, double omega, double inverseAbsoluteAccuracy) { +<span class="fc" id="L72"> this(new Well19937c(), mu, omega, inverseAbsoluteAccuracy);</span> +<span class="fc" id="L73"> }</span> + + /** + * Build a new instance. + * + * @param rng Random number generator + * @param mu shape parameter + * @param omega scale parameter (must be positive) + * @param inverseAbsoluteAccuracy the maximum absolute error in inverse + * cumulative probability estimates (defaults to {@link #DEFAULT_INVERSE_ABSOLUTE_ACCURACY}). + * @throws NumberIsTooSmallException if {@code mu < 0.5} + * @throws NotStrictlyPositiveException if {@code omega <= 0} + */ + public NakagamiDistribution(RandomGenerator rng, double mu, double omega, double inverseAbsoluteAccuracy) { +<span class="fc" id="L87"> super(rng);</span> + +<span class="pc bpc" id="L89" title="1 of 2 branches missed."> if (mu < 0.5) {</span> +<span class="nc" id="L90"> throw new NumberIsTooSmallException(mu, 0.5, true);</span> + } +<span class="pc bpc" id="L92" title="1 of 2 branches missed."> if (omega <= 0) {</span> +<span class="nc" id="L93"> throw new NotStrictlyPositiveException(LocalizedFormats.NOT_POSITIVE_SCALE, omega);</span> + } + +<span class="fc" id="L96"> this.mu = mu;</span> +<span class="fc" id="L97"> this.omega = omega;</span> +<span class="fc" id="L98"> this.inverseAbsoluteAccuracy = inverseAbsoluteAccuracy;</span> +<span class="fc" id="L99"> }</span> + + /** + * Access the shape parameter, {@code mu}. + * + * @return the shape parameter. + */ + public double getShape() { +<span class="fc" id="L107"> return mu;</span> + } + + /** + * Access the scale parameter, {@code omega}. + * + * @return the scale parameter. + */ + public double getScale() { +<span class="fc" id="L116"> return omega;</span> + } + + @Override + protected double getSolverAbsoluteAccuracy() { +<span class="fc" id="L121"> return inverseAbsoluteAccuracy;</span> + } + + /** {@inheritDoc} */ + public double density(double x) { +<span class="fc bfc" id="L126" title="All 2 branches covered."> if (x <= 0) {</span> +<span class="fc" id="L127"> return 0.0;</span> + } +<span class="fc" id="L129"> return 2.0 * FastMath.pow(mu, mu) / (Gamma.gamma(mu) * FastMath.pow(omega, mu)) *</span> + FastMath.pow(x, 2 * mu - 1) * FastMath.exp(-mu * x * x / omega); + } + + /** {@inheritDoc} */ + public double cumulativeProbability(double x) { +<span class="fc" id="L135"> return Gamma.regularizedGammaP(mu, mu * x * x / omega);</span> + } + + /** {@inheritDoc} */ + public double getNumericalMean() { +<span class="fc" id="L140"> return Gamma.gamma(mu + 0.5) / Gamma.gamma(mu) * FastMath.sqrt(omega / mu);</span> + } + + /** {@inheritDoc} */ + public double getNumericalVariance() { +<span class="fc" id="L145"> double v = Gamma.gamma(mu + 0.5) / Gamma.gamma(mu);</span> +<span class="fc" id="L146"> return omega * (1 - 1 / mu * v * v);</span> + } + + /** {@inheritDoc} */ + public double getSupportLowerBound() { +<span class="fc" id="L151"> return 0;</span> + } + + /** {@inheritDoc} */ + public double getSupportUpperBound() { +<span class="fc" id="L156"> return Double.POSITIVE_INFINITY;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportLowerBoundInclusive() { +<span class="fc" id="L161"> return true;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportUpperBoundInclusive() { +<span class="fc" id="L166"> return false;</span> + } + + /** {@inheritDoc} */ + public boolean isSupportConnected() { +<span class="fc" id="L171"> return true;</span> + } + +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.java.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.distribution/NakagamiDistribution.java.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>EvaluationRmsChecker</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.html" class="el_package">org.apache.commons.math3.fitting.leastsquares</a> > <span class="el_class">EvaluationRmsChecker</span></div><h1>EvaluationRmsChecker</h1><table class="coverage" cellspacing="0" id="cov eragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 36</td><td class="ctr2">86%</td><td class="bar">0 of 4</td><td class="ctr2">100%</td><td class="ctr1">1</td><td class=" ctr2">5</td><td class="ctr1">2</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="EvaluationRmsChecker.java.html#L46" class="el_method">EvaluationRmsChecker(double)</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="27" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="EvaluationRmsChecker.java.html#L69" class="el_method">converged(int, LeastSquaresProblem.Evaluation, LeastSquaresProblem.Evaluation)</a></td><td class="bar" id="b1"><img src="../.resources/greenbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../.resources/greenbar. gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="EvaluationRmsChecker.java.html#L60" class="el_method">EvaluationRmsChecker(double, double)</a></td><td class="bar" id="b2"><img src="../.resources/greenbar.gif" width="49" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.java.html ============================================================================== --- websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.java.html (added) +++ websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.java.html Sat Oct 18 20:10:38 2014 @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>EvaluationRmsChecker.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.source.html" class="el_package">org.apache.commons.math3.fitting.leastsquares</a> > <span class="el_source">Evaluat ionRmsChecker.java</span></div><h1>EvaluationRmsChecker.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.math3.fitting.leastsquares; + +import org.apache.commons.math3.fitting.leastsquares.LeastSquaresProblem.Evaluation; +import org.apache.commons.math3.optim.ConvergenceChecker; +import org.apache.commons.math3.util.Precision; + +/** + * Check if an optimization has converged based on the change in computed RMS. + * + * @since 3.4 + */ +public class EvaluationRmsChecker implements ConvergenceChecker<Evaluation> { + + /** relative tolerance for comparisons. */ + private final double relTol; + /** absolute tolerance for comparisons. */ + private final double absTol; + + /** + * Create a convergence checker for the RMS with the same relative and absolute + * tolerance. + * + * <p>Convenience constructor for when the relative and absolute tolerances are the + * same. Same as {@code new EvaluationRmsChecker(tol, tol)}. + * + * @param tol the relative and absolute tolerance. + * @see #EvaluationRmsChecker(double, double) + */ + public EvaluationRmsChecker(final double tol) { +<span class="nc" id="L46"> this(tol, tol);</span> +<span class="nc" id="L47"> }</span> + + /** + * Create a convergence checker for the RMS with a relative and absolute tolerance. + * + * <p>The optimization has converged when the RMS of consecutive evaluations are equal + * to within the given relative tolerance or absolute tolerance. + * + * @param relTol the relative tolerance. + * @param absTol the absolute tolerance. + * @see Precision#equals(double, double, double) + * @see Precision#equalsWithRelativeTolerance(double, double, double) + */ +<span class="fc" id="L60"> public EvaluationRmsChecker(final double relTol, final double absTol) {</span> +<span class="fc" id="L61"> this.relTol = relTol;</span> +<span class="fc" id="L62"> this.absTol = absTol;</span> +<span class="fc" id="L63"> }</span> + + /** {@inheritDoc} */ + public boolean converged(final int iteration, + final Evaluation previous, + final Evaluation current) { +<span class="fc" id="L69"> final double prevRms = previous.getRMS();</span> +<span class="fc" id="L70"> final double currRms = current.getRMS();</span> +<span class="fc bfc" id="L71" title="All 4 branches covered."> return Precision.equals(prevRms, currRms, this.absTol) ||</span> + Precision.equalsWithRelativeTolerance(prevRms, currRms, this.relTol); + } + +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.0.201403182114</span></div></body></html> \ No newline at end of file Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.java.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: websites/production/commons/content/proper/commons-math/jacoco/org.apache.commons.math3.fitting.leastsquares/EvaluationRmsChecker.java.html ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision