package joshua.discriminative.semiring_parsingv2.applications.min_risk_da;
import joshua.discriminative.semiring_parsingv2.SignedValue;
import joshua.discriminative.semiring_parsingv2.bilinear_operator.BilinearOperator;
import joshua.discriminative.semiring_parsingv2.pmodule.ListPM;
import joshua.discriminative.semiring_parsingv2.pmodule.SparseMap;
public class MinRiskDABO implements BilinearOperator<RiskAndEntropyPM, ListPM, ListPM>{
public ListPM bilinearMulti(RiskAndEntropyPM r, ListPM s) {
//== get SparseArray
SparseMap res = s.getValue().duplicate();
for(SignedValue signedVal : res.getValues())
signedVal.multi(r.getValue());
return new ListPM(res);
}
public ListPM bilinearMulti(SignedValue r, ListPM s) {
//== get SparseArray
SparseMap res = s.getValue().duplicate();
for(SignedValue signedVal : res.getValues())
signedVal.multi(r);
return new ListPM(res);
}
}