Merge "Small optimization"

This commit is contained in:
Jean Chalard 2012-03-23 02:47:54 -07:00 committed by Android (Google) Code Review
commit 0e134a4477

View file

@ -39,7 +39,7 @@ public class SpellCheckerProximityInfo {
final protected static void buildProximityIndices(final int[] proximity, final protected static void buildProximityIndices(final int[] proximity,
final TreeMap<Integer, Integer> indices) { final TreeMap<Integer, Integer> indices) {
for (int i = 0; i < proximity.length; i += ROW_SIZE) { for (int i = 0; i < proximity.length; i += ROW_SIZE) {
if (NUL != proximity[i]) indices.put(proximity[i], i); if (NUL != proximity[i]) indices.put(proximity[i], i / ROW_SIZE);
} }
} }
final protected static int computeIndex(final int characterCode, final protected static int computeIndex(final int characterCode,
@ -198,9 +198,8 @@ public class SpellCheckerProximityInfo {
// inferior to 1 << 16 // inferior to 1 << 16
public static int getXYForCodePointAndScript(final int codePoint, final int script) { public static int getXYForCodePointAndScript(final int codePoint, final int script) {
final int index = getIndexOfCodeForScript(codePoint, script); final int index = getIndexOfCodeForScript(codePoint, script);
// TODO: precompute index / ROW_SIZE final int y = index / PROXIMITY_GRID_WIDTH;
final int y = index / (PROXIMITY_GRID_WIDTH * ROW_SIZE); final int x = index % PROXIMITY_GRID_WIDTH;
final int x = (index / ROW_SIZE) % PROXIMITY_GRID_WIDTH;
if (y > PROXIMITY_GRID_HEIGHT) { if (y > PROXIMITY_GRID_HEIGHT) {
// Safety check, should be entirely useless // Safety check, should be entirely useless
throw new RuntimeException("Wrong y coordinate in spell checker proximity"); throw new RuntimeException("Wrong y coordinate in spell checker proximity");