@Override public final void compute() { if (input[0].isDefined() && input[1].isDefined() && input[2].isDefined() && input[3].isDefined()) { int param = (int) Math.round(a.getDouble()); double param2 = b.getDouble(); int val = (int) Math.round(c.getDouble()); try { PascalDistribution dist = getPascalDistribution(param, param2); if (isCumulative.getBoolean()) { num.setValue(dist.cumulativeProbability(val)); // P(X <= // val) } else { num.setValue(dist.probability(val)); // P(X = val) } } catch (Exception e) { num.setUndefined(); } } else { num.setUndefined(); } }