static void computeA()

in commons-statistics-inference/src/main/java/org/apache/commons/statistics/inference/KolmogorovSmirnovDistribution.java [472:517]


        static void computeA(int n, double t, int[] amt, int[] apt) {
            final int l = (int) Math.floor(t);
            final double f = t - l;
            final int limit = 2 * n + 2;

            // 3-cases
            if (f > HALF) {
                // Case (iii): 1/2 < f < 1
                // for i = 1, 2, ...
                for (int j = 2; j <= limit; j += 2) {
                    final int i = j >>> 1;
                    amt[j] = i - 2 - l;
                    apt[j] = i + l;
                }
                // for i = 0, 1, 2, ...
                for (int j = 1; j <= limit; j += 2) {
                    final int i = j >>> 1;
                    amt[j] = i - 1 - l;
                    apt[j] = i + 1 + l;
                }
            } else if (f > 0) {
                // Case (ii): 0 < f <= 1/2
                amt[1] = -l - 1;
                apt[1] = l + 1;
                // for i = 1, 2, ...
                for (int j = 2; j <= limit; j++) {
                    final int i = j >>> 1;
                    amt[j] = i - 1 - l;
                    apt[j] = i + l;
                }
            } else {
                // Case (i): f = 0
                // for i = 1, 2, ...
                for (int j = 2; j <= limit; j += 2) {
                    final int i = j >>> 1;
                    amt[j] = i - 1 - l;
                    apt[j] = i - 1 + l;
                }
                // for i = 0, 1, 2, ...
                for (int j = 1; j <= limit; j += 2) {
                    final int i = j >>> 1;
                    amt[j] = i - l;
                    apt[j] = i + l;
                }
            }
        }