diff options
author | Przemyslaw Szczepaniak <pszczepaniak@google.com> | 2013-03-04 11:30:34 +0000 |
---|---|---|
committer | Przemyslaw Szczepaniak <pszczepaniak@google.com> | 2013-03-04 11:30:34 +0000 |
commit | 5bf56ba7027cd5f22ff52d0138893f7a585135fb (patch) | |
tree | 19e17fc79b8873e66f211276d4dd169c480cede1 /src/include/fst/script/map.h | |
parent | 3da1eb108d36da35333b2d655202791af854996b (diff) | |
parent | 5b6dc79427b8f7eeb6a7ff68034ab8548ce670ea (diff) | |
download | openfst-idea133-weekly-release.tar.gz |
Merge remote-tracking branch 'goog/ics-ub-google-tts' into jb-mr2-devandroid-sdk-4.4.2_r1.0.1android-sdk-4.4.2_r1android-cts-4.4_r4android-cts-4.4_r1android-4.4w_r1android-4.4_r1.2.0.1android-4.4_r1.2android-4.4_r1.1.0.1android-4.4_r1.1android-4.4_r1.0.1android-4.4_r1android-4.4_r0.9android-4.4_r0.8android-4.4_r0.7android-4.4.4_r2.0.1android-4.4.4_r2android-4.4.4_r1.0.1android-4.4.4_r1android-4.4.3_r1.1.0.1android-4.4.3_r1.1android-4.4.3_r1.0.1android-4.4.3_r1android-4.4.2_r2.0.1android-4.4.2_r2android-4.4.2_r1.0.1android-4.4.2_r1android-4.4.1_r1.0.1android-4.4.1_r1android-4.3_r3.1android-4.3_r3android-4.3_r2.3android-4.3_r2.2android-4.3_r2.1android-4.3_r2android-4.3_r1.1android-4.3_r1android-4.3_r0.9.1android-4.3_r0.9android-4.3.1_r1tools_r22.2kitkat-wearkitkat-releasekitkat-mr2.2-releasekitkat-mr2.1-releasekitkat-mr2-releasekitkat-mr1.1-releasekitkat-mr1-releasekitkat-devkitkat-cts-releasekitkat-cts-devjb-mr2.0.0-releasejb-mr2.0-releasejb-mr2-releasejb-mr2-devidea133-weekly-releaseidea133
Diffstat (limited to 'src/include/fst/script/map.h')
-rw-r--r-- | src/include/fst/script/map.h | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/src/include/fst/script/map.h b/src/include/fst/script/map.h index 2332074..3caaa9f 100644 --- a/src/include/fst/script/map.h +++ b/src/include/fst/script/map.h @@ -59,46 +59,54 @@ void Map(MapArgs *args) { float delta = args->args.arg3; typename Arc::Weight w = *(args->args.arg4.GetWeight<typename Arc::Weight>()); + Fst<Arc> *fst = NULL; + Fst<LogArc> *lfst = NULL; + Fst<Log64Arc> *l64fst = NULL; + Fst<StdArc> *sfst = NULL; if (map_type == ARC_SUM_MAPPER) { - args->retval = new FstClass( - script::StateMap(ifst, ArcSumMapper<Arc>(ifst))); + args->retval = new FstClass(*(fst = + script::StateMap(ifst, ArcSumMapper<Arc>(ifst)))); } else if (map_type == IDENTITY_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, IdentityArcMapper<Arc>())); + args->retval = new FstClass(*(fst = + script::ArcMap(ifst, IdentityArcMapper<Arc>()))); } else if (map_type == INVERT_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, InvertWeightMapper<Arc>())); + args->retval = new FstClass(*(fst = + script::ArcMap(ifst, InvertWeightMapper<Arc>()))); } else if (map_type == PLUS_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, PlusMapper<Arc>(w))); + args->retval = new FstClass(*(fst = + script::ArcMap(ifst, PlusMapper<Arc>(w)))); } else if (map_type == QUANTIZE_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, QuantizeMapper<Arc>(delta))); + args->retval = new FstClass(*(fst = + script::ArcMap(ifst, QuantizeMapper<Arc>(delta)))); } else if (map_type == RMWEIGHT_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, RmWeightMapper<Arc>())); + args->retval = new FstClass(*(fst = + script::ArcMap(ifst, RmWeightMapper<Arc>()))); } else if (map_type == SUPERFINAL_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, SuperFinalMapper<Arc>())); + args->retval = new FstClass(*(fst = + script::ArcMap(ifst, SuperFinalMapper<Arc>()))); } else if (map_type == TIMES_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, TimesMapper<Arc>(w))); + args->retval = new FstClass(*(fst = + script::ArcMap(ifst, TimesMapper<Arc>(w)))); } else if (map_type == TO_LOG_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, WeightConvertMapper<Arc, LogArc>())); + args->retval = new FstClass(*(lfst = + script::ArcMap(ifst, WeightConvertMapper<Arc, LogArc>()))); } else if (map_type == TO_LOG64_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, WeightConvertMapper<Arc, Log64Arc>())); + args->retval = new FstClass(*(l64fst = + script::ArcMap(ifst, WeightConvertMapper<Arc, Log64Arc>()))); } else if (map_type == TO_STD_MAPPER) { - args->retval = new FstClass( - script::ArcMap(ifst, WeightConvertMapper<Arc, StdArc>())); + args->retval = new FstClass(*(sfst = + script::ArcMap(ifst, WeightConvertMapper<Arc, StdArc>()))); } else { FSTERROR() << "Error: unknown/unsupported mapper type: " << map_type; VectorFst<Arc> *ofst = new VectorFst<Arc>; ofst->SetProperties(kError, kError); - args->retval = new FstClass(ofst); + args->retval = new FstClass(*(fst =ofst)); } + delete sfst; + delete l64fst; + delete lfst; + delete fst; } |