static double doubleMultiRatio(Iterable l) { var it = iterator(l); if (!it.hasNext()) ret 0; double x = it.next(); while (it.hasNext()) x = doubleRatio(x, it.next()); ret x; } static double doubleMultiRatio(double... l) { int n = l(l); if (n == 0) ret 0; double x = l[0]; for (int i = 1; i < n; i++) x -= doubleRatio(x, l[i]); ret x; }