public GeneralizedCounter probs(int position, int window) { GeneralizedCounter gc = new GeneralizedCounter(window); int[] labels = new int[window]; // cdm july 2005: below array initialization isn't necessary: JLS (3rd ed.) 4.12.5 // Arrays.fill(labels, 0); OUTER: while (true) { List labelsList = Arrays.asList(intArrayToObjectArray(labels)); gc.incrementCount(labelsList, prob(position, labels)); for (int i = 0; i < labels.length; i++) { labels[i]++; if (labels[i] < numClasses) { break; } if (i == labels.length - 1) { break OUTER; } labels[i] = 0; } } return gc; }
public GeneralizedCounter logProbs(int position, int window) { GeneralizedCounter gc = new GeneralizedCounter(window); int[] labels = new int[window]; // cdm july 2005: below array initialization isn't necessary: JLS (3rd ed.) 4.12.5 // Arrays.fill(labels, 0); OUTER: while (true) { List labelsList = Arrays.asList(intArrayToObjectArray(labels)); gc.incrementCount(labelsList, logProb(position, labels)); for (int i = 0; i < labels.length; i++) { labels[i]++; if (labels[i] < numClasses) { break; } if (i == labels.length - 1) { break OUTER; } labels[i] = 0; } } return gc; }