static double ratioToProbability(double ratio) { if (ratio < 0) fail("No negative values allowed"); if (ratio > 1) ratio = 1/ratio; ret ratio; } static double ratioToProbability(double a, double b) { if (a < 0 || b < 0) fail("No negative values allowed"); ret b == 0 ? (a == 0 ? 1 : 0) : ratioToProbability(a/b); }