EmpiricalRandomVariable should ensure that the CDF ends with 1.0
See this users' group thread.
Suppose you have the PDF. You configure a ERV by successive calls to CDF(), so you need to sum your PDF values. It's unlikely that the sum will yield exactly 1.0. But ERV::Validate() checks that the last CDF point is exactly 1.0.
When it's not, Validate() asserts, but doesn't show the last value. At the very least it should show the last value with sufficient precision to see the problem.
If the last point is sufficiently close to 1, should we force it to 1, instead of asserting?