/*
* Created on Dec 2, 2004
*
*/
package iitb.Model;
import iitb.CRF.DataSequence;
/**
* @author sunita
*
*/
public class ClassPriorFeature extends FeatureTypes {
private static final long serialVersionUID = 16L;
transient int thisClassId;
/**
* @param fgen
*/
public ClassPriorFeature(FeatureGenImpl fgen) {
super(fgen);
}
/* (non-Javadoc)
* @see iitb.Model.FeatureTypes#startScanFeaturesAt(iitb.CRF.DataSequence, int, int)
*/
public boolean startScanFeaturesAt(DataSequence data, int prevPos, int pos) {
thisClassId = model.numStates()-1;
return hasNext();
}
/* (non-Javadoc)
* @see iitb.Model.FeatureTypes#hasNext()
*/
public boolean hasNext() {
return thisClassId >= 0;
}
/* (non-Javadoc)
* @see iitb.Model.FeatureTypes#next(iitb.Model.FeatureImpl)
*/
public void next(FeatureImpl f) {
f.yend = thisClassId;
f.ystart = -1;
f.val = 1;
String name="";
if (featureCollectMode()) {
name = "Bias_" + thisClassId;
}
setFeatureIdentifier(thisClassId,thisClassId,name,f);
thisClassId--;
}
}