Jaechang Nam created JOSHUA-329: ----------------------------------- Summary: A suspicious use of incrementer in for statement Key: JOSHUA-329 URL: https://issues.apache.org/jira/browse/JOSHUA-329 Project: Joshua Issue Type: Bug Reporter: Jaechang Nam Priority: Trivial
In a recent snapshot of the github mirror, I've found a suspicious incrementer in src/main/java/org/apache/joshua/decoder/ff/lm/LanguageModelFF.java. {code:java} 269 for (int i = 0; i < tokens.length; i++) { 270 if (tokens[i] > 0) { // skip nonterminals 271 for (int j = 0; j < alignments.length; j += 2) { 272 if (alignments[j] == i) { 273 String annotation = sentence.getAnnotation((int)alignments[i] + begin, "class"); 274 if (annotation != null) { 275 // System.err.println(String.format(" word %d source %d abs %d annotation %d/%s" , 276 // i, alignments[i], alignments[i] + begin, annotation, Vocabulary.word(annotation))); 277 tokens[i] = Vocabulary.id(annotation); 278 break; 279 } 280 } 281 } 282 } 283 } {code} In Line 273, alignments[i] should be alignments[j] if tokens.length is not same as alignments.length? Since I don't have domain knowledge, this may not be correct but just wanted to report this in case. -- This message was sent by Atlassian JIRA (v6.3.15#6346)