private double checkedCumulativeProbability(int argument) throws FunctionEvaluationException {
double result = Double.NaN;
try {
result = cumulativeProbability(argument);
} catch (MathException ex) {
throw new FunctionEvaluationException(ex, argument, ex.getPattern(), ex.getArguments());
}
if (Double.isNaN(result)) {
throw new FunctionEvaluationException(argument,
"Discrete cumulative probability function returned NaN for argument {0}", argument);
}
return result;
}