We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent d72de44 commit 180341bCopy full SHA for 180341b
1 file changed
src/Bpp/Io/BppODiscreteDistributionFormat.cpp
@@ -88,6 +88,15 @@ unique_ptr<DiscreteDistributionInterface> BppODiscreteDistributionFormat::readDi
88
while (strtok2.hasMoreToken())
89
probas.push_back(TextTools::toDouble(strtok2.nextToken()));
90
91
+ double sum = VectorTools::sum(probas);
92
+ if (fabs(1. - sum) > 0.00001)
93
+ throw Exception("BppODiscreteDistributionFormat for SimpleDiscreteDistribution: Probabilities must equal 1 (sum =" + TextTools::toString(sum) + ").");
94
+ else
95
+ {
96
+ for (size_t ip =0; ip< probas.size(); ip++)
97
+ probas[ip]=probas[ip]/sum;
98
+ }
99
+
100
std::map<size_t, std::vector<double>> ranges;
101
102
if (args.find("ranges") != args.end())
0 commit comments