static int[] subIntArray(int[] b, int start) { ret subIntArray(b, start, l(b)); } static int[] subIntArray(int[] b, int start, int end) { start = max(start, 0); end = min(end, l(b)); if (start == 0 && end == l(b)) ret b; if (start >= end) ret new int[0]; int[] x = new int[end-start]; System.arraycopy(b, start, x, 0, end-start); ret x; } ifclass IntRange static int[] subIntArray(int[] a, IntRange r) { ret r == null ? null : subIntArray(a, r.start, r.end); } endif