static double[] subFloatArrayAsDoubleArray(float[] b, int start, int end default l(b)) { start = max(start, 0); end = min(end, l(b)); if (start >= end) ret new double[0]; double[] x = new[end-start]; for (int i = start; i < end; i++) x[i-start] = b[i]; ret x; }