You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Alex Herbert (Jira)" <ji...@apache.org> on 2021/07/09 10:32:00 UTC
[jira] [Commented] (RNG-146) GaussianSampler should not allow
infinite standard deviation
[ https://issues.apache.org/jira/browse/RNG-146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17377989#comment-17377989 ]
Alex Herbert commented on RNG-146:
----------------------------------
Added detection of infinite and NaN values for both the mean and standard deviation. I have added javadoc to indicate the use of finite values for the mean and standard deviation will avoid NaN (e.g. by avoiding inf * 0 and inf - inf). The javadoc states that detection of a truncated distribution is not performed.
Commit:
6edeb102c5310895480781e14c14facaf12ed864
> GaussianSampler should not allow infinite standard deviation
> ------------------------------------------------------------
>
> Key: RNG-146
> URL: https://issues.apache.org/jira/browse/RNG-146
> Project: Commons RNG
> Issue Type: Bug
> Components: sampling
> Affects Versions: 1.3
> Reporter: Alex Herbert
> Priority: Trivial
>
> The GaussianSampler requires the standard deviation is strictly positive. It allows an infinite value. This will produce a NaN output if the NormalizedGaussianSampler returns 0:
> {code:java}
> @Test
> public void testInfiniteStdDev() {
> NormalizedGaussianSampler gauss = new NormalizedGaussianSampler() {
> @Override
> public double sample() {
> return 0;
> }
> };
> GaussianSampler s = new GaussianSampler(gauss, 0, Double.POSITIVE_INFINITY);
> Assert.assertEquals(Double.NaN, s.sample(), 0.0);
> }
> {code}
> A fix is to require the standard deviation is finite.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)