**Section:** 28.5.9.6.2 [rand.dist.samp.pconst] **Status:** C++11
**Submitter:** INCITS **Opened:** 2010-08-25 **Last modified:** 2016-01-28 10:19:27 UTC

**Priority: **Not Prioritized

**View all other** issues in [rand.dist.samp.pconst].

**View all issues with** C++11 status.

**Discussion:**

**Addresses US-134**

These two distributions have a member function called
`densities()` which returns a `vector<double>`. The
distribution is templated on `RealType`. The distribution
also has another member called `intervals()` which returns
a `vector<RealType>`. Why doesn't densities return
`vector<RealType>` as well? If `RealType` is `long double`,
the computed densities property isn't being computed to
the precision the client desires. If `RealType` is `float`, the
densities vector is taking up twice as much space as the client desires.

*[
Resolution proposed by ballot comment:
]*

Change the piecewise constant and linear distributions to hold / return the densities in a

vector<result_type>.If this is not done, at least correct 28.5.9.6.2 [rand.dist.samp.pconst] p. 13 which describes the return of densities as a

vector<result_type>.

*[
Batavia 2010: After reviewing this issue, the working group concurred with the first of the
suggestions proposed by the NB comment: "Change the piecewise constant and linear distributions
to hold/return the densities in a vector. "
]*

*[
Adopted at 2010-11 Batavia
]*

**Proposed resolution:**

- Change 28.5.9.6.2 [rand.dist.samp.pconst] p. 2, class template
`piecewise_constant_distribution`synopsis and the prototype description 28.5.9.6.2 [rand.dist.samp.pconst] before p. 13 as indicated:vector<

~~double~~result_type> densities() const; - Change 28.5.9.6.3 [rand.dist.samp.plinear] p. 2, class template
`piecewise_linear_distribution`synopsis and the prototype description 28.5.9.6.3 [rand.dist.samp.plinear] before p. 13 as indicated:vector<

~~double~~result_type> densities() const;