}
if (gamma == Transducer.IMPOSSIBLE_WEIGHT) {
node.alpha[curr] = new LogNumber(Transducer.IMPOSSIBLE_WEIGHT,true);
} else {
temp.set(xi[curr] - gamma,true);
temp.timesEquals(nuAlpha);
node.alpha[curr].plusEquals(temp);
}
assert (!Double.isNaN(node.alpha[curr].logVal)) : "xi: " + xi[curr] + ", gamma: "
+ gamma + ", constraint feature: " + dotCache[ip][prev][curr]
+ ", nuApha: " + nuAlpha + " dot: " + dot;