epsnormalize.h revision f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Licensed under the Apache License, Version 2.0 (the "License"); 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// you may not use this file except in compliance with the License. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// You may obtain a copy of the License at 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// http://www.apache.org/licenses/LICENSE-2.0 7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// 8a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// Unless required by applicable law or agreed to in writing, software 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// distributed under the License is distributed on an "AS IS" BASIS, 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// See the License for the specific language governing permissions and 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// limitations under the License. 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2005-2010 Google, Inc. 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Author: jpr@google.com (Jake Ratkiewicz) 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#ifndef FST_SCRIPT_EPSNORMALIZE_H_ 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define FST_SCRIPT_EPSNORMALIZE_H_ 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <fst/script/arg-packs.h> 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <fst/script/fst-class.h> 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <fst/epsnormalize.h> 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace fst { 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace script { 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef args::Package<const FstClass&, MutableFstClass*, 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EpsNormalizeType> EpsNormalizeArgs; 2990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<class Arc> 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void EpsNormalize(EpsNormalizeArgs *args) { 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const Fst<Arc> &ifst = *(args->arg1.GetFst<Arc>()); 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MutableFst<Arc> *ofst = args->arg2->GetMutableFst<Arc>(); 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EpsNormalize(ifst, ofst, args->arg3); 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void EpsNormalize(const FstClass &ifst, MutableFstClass *ofst, 3990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EpsNormalizeType norm_type = EPS_NORM_INPUT); 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} // namespace script 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace fst 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // FST_SCRIPT_EPSNORMALIZE_H_ 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)