internal static bool a_star2_internal(Intarray inputs, Intarray vertices1, Intarray vertices2, Intarray outputs, Floatarray costs, IGenericFst fst1, IGenericFst fst2, Floatarray g1, Floatarray g2, CompositionFst composition) { Intarray vertices = new Intarray(); AStarCompositionSearch a = new AStarCompositionSearch(g1, g2, composition); if (!a.Loop()) { return(false); } if (!a.reconstruct_vertices(vertices)) { return(false); } a.reconstruct_edges(inputs, outputs, costs, vertices); composition.SplitIndices(vertices1, vertices2, vertices); return(true); }
internal static bool a_star2_internal(Intarray inputs, Intarray vertices1, Intarray vertices2, Intarray outputs, Floatarray costs, IGenericFst fst1, IGenericFst fst2, Floatarray g1, Floatarray g2, CompositionFst composition) { Intarray vertices = new Intarray(); AStarCompositionSearch a = new AStarCompositionSearch(g1, g2, composition); if (!a.Loop()) return false; if (!a.reconstruct_vertices(vertices)) return false; a.reconstruct_edges(inputs, outputs, costs, vertices); composition.SplitIndices(vertices1, vertices2, vertices); return true; }