Subject: Re: [Boost-bugs] [Boost C++ Libraries] #6934: quantile() on an inverse_gaussian_distribution<RealType, Policy> object does not compile
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-05-23 16:53:49
#6934: quantile() on an inverse_gaussian_distribution<RealType, Policy> object
does not compile
--------------------------------------------------------------+-------------
Reporter: Florian Schoppmann <Florian.Schoppmann@â¦> | Owner: johnmaddock
Type: Bugs | Status: assigned
Milestone: To Be Determined | Component: math
Version: Boost 1.49.0 | Severity: Problem
Resolution: | Keywords:
--------------------------------------------------------------+-------------
Comment (by johnmaddock):
The following patch updates our tests to show the error:
{{{
Index: distribution_concept_check.cpp
===================================================================
--- distribution_concept_check.cpp (revision 78472)
+++ distribution_concept_check.cpp (working copy)
@@ -16,26 +16,28 @@
using namespace boost::math;
using namespace boost::math::concepts;
- function_requires<DistributionConcept<normal_distribution<RealType> >
>();
- function_requires<DistributionConcept<beta_distribution<RealType> >
>();
- function_requires<DistributionConcept<binomial_distribution<RealType>
> >();
- function_requires<DistributionConcept<cauchy_distribution<RealType> >
>();
- function_requires<DistributionConcept<bernoulli_distribution<RealType>
> >();
-
function_requires<DistributionConcept<chi_squared_distribution<RealType> >
>();
-
function_requires<DistributionConcept<exponential_distribution<RealType> >
>();
-
function_requires<DistributionConcept<extreme_value_distribution<RealType>
> >();
- function_requires<DistributionConcept<fisher_f_distribution<RealType>
> >();
- function_requires<DistributionConcept<gamma_distribution<RealType> >
>();
-
function_requires<DistributionConcept<students_t_distribution<RealType> >
>();
- function_requires<DistributionConcept<pareto_distribution<RealType> >
>();
- function_requires<DistributionConcept<poisson_distribution<RealType> >
>();
- function_requires<DistributionConcept<rayleigh_distribution<RealType>
> >();
- function_requires<DistributionConcept<weibull_distribution<RealType> >
>();
- function_requires<DistributionConcept<lognormal_distribution<RealType>
> >();
-
function_requires<DistributionConcept<triangular_distribution<RealType> >
>();
- function_requires<DistributionConcept<uniform_distribution<RealType> >
>();
-
function_requires<DistributionConcept<negative_binomial_distribution<RealType>
> >();
-
function_requires<DistributionConcept<non_central_chi_squared_distribution<RealType>
> >();
+ typedef
policies::policy<policies::digits2<std::numeric_limits<RealType>::digits -
2> > custom_policy;
+
+ function_requires<DistributionConcept<normal_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<beta_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<binomial_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<cauchy_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<bernoulli_distribution<RealType,
custom_policy> > >();
+
function_requires<DistributionConcept<chi_squared_distribution<RealType,
custom_policy> > >();
+
function_requires<DistributionConcept<exponential_distribution<RealType,
custom_policy> > >();
+
function_requires<DistributionConcept<extreme_value_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<fisher_f_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<gamma_distribution<RealType,
custom_policy> > >();
+
function_requires<DistributionConcept<students_t_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<pareto_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<poisson_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<rayleigh_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<weibull_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<lognormal_distribution<RealType,
custom_policy> > >();
+
function_requires<DistributionConcept<triangular_distribution<RealType,
custom_policy> > >();
+ function_requires<DistributionConcept<uniform_distribution<RealType,
custom_policy> > >();
+
function_requires<DistributionConcept<negative_binomial_distribution<RealType,
custom_policy> > >();
+
function_requires<DistributionConcept<non_central_chi_squared_distribution<RealType,
custom_policy> > >();
}
Index: instantiate.hpp
===================================================================
--- instantiate.hpp (revision 78527)
+++ instantiate.hpp (working copy)
@@ -18,7 +18,7 @@
#ifndef BOOST_MATH_INSTANTIATE_MINIMUM
-typedef boost::math::policies::policy<> test_policy;
+typedef
boost::math::policies::policy<boost::math::policies::promote_float<false>,
boost::math::policies::promote_double<false> > test_policy;
namespace test{
}}}
Then try and compile either std_real_concept_check.cpp or
test_instantiate1.cpp. Thankfully the inverse_gaussian distro is the only
thing that fails.
I haven't committed the above patch, because it'll break the regression
tests at present.
John.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6934#comment:2> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:09 UTC