public static void scale_fst(OcroFST fst, float scale) { if (Math.Abs(scale - 1.0f) < 1e-6f) { return; } for (int i = 0; i < fst.nStates(); i++) { Floatarray cost = fst.Costs(i); cost *= scale; float accept = fst.AcceptCost(i); if (accept >= 0.0f && accept < 1e37f) { fst.SetAcceptCost(i, accept * scale); } } }
public static void scale_fst(OcroFST fst, float scale) { if(Math.Abs(scale-1.0f)<1e-6f) return; for (int i = 0; i < fst.nStates(); i++) { Floatarray cost = fst.Costs(i); cost *= scale; float accept = fst.AcceptCost(i); if (accept >= 0.0f && accept < 1e37f) fst.SetAcceptCost(i, accept * scale); } }