From a753eca0121ac3ec81ed76bd719d3f1cb9522680 Mon Sep 17 00:00:00 2001 From: Determinant Date: Wed, 3 Jun 2015 23:00:30 +0800 Subject: ... --- tnet_io/cwrapper.cpp | 6 +++++- tnet_io/cwrapper.h | 1 + tnet_io/init.c | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletion(-) (limited to 'tnet_io') diff --git a/tnet_io/cwrapper.cpp b/tnet_io/cwrapper.cpp index e82f3f8..4149557 100644 --- a/tnet_io/cwrapper.cpp +++ b/tnet_io/cwrapper.cpp @@ -2,13 +2,13 @@ #include "KaldiLib/Labels.h" #include "KaldiLib/Common.h" #include "KaldiLib/UserInterface.h" -#include "../../common.h" #include #define SNAME "TNET" extern "C" { #include "cwrapper.h" #include "string.h" +#include "../../common.h" extern Matrix *nerv_matrix_host_float_new_(lua_State *L, long nrow, long ncol); @@ -77,6 +77,10 @@ extern "C" { repo->feature_repo.MoveNext(); } + int tnet_feature_repo_is_end(TNetFeatureRepo *repo) { + return repo->feature_repo.EndOfList(); + } + size_t tnet_feature_repo_current_samplerate(TNetFeatureRepo *repo) { return repo->feature_repo.CurrentHeader().mSamplePeriod; } diff --git a/tnet_io/cwrapper.h b/tnet_io/cwrapper.h index a34f090..54fb69b 100644 --- a/tnet_io/cwrapper.h +++ b/tnet_io/cwrapper.h @@ -14,6 +14,7 @@ extern "C" { size_t tnet_feature_repo_current_samplerate(TNetFeatureRepo *repo); const char *tnet_feature_repo_current_tag(TNetFeatureRepo *repo); void tnet_feature_repo_next(TNetFeatureRepo *repo); + int tnet_feature_repo_is_end(TNetFeatureRepo *repo); void tnet_feature_repo_destroy(TNetFeatureRepo *repo); typedef struct TNetLabelRepo TNetLabelRepo; diff --git a/tnet_io/init.c b/tnet_io/init.c index 3fa7cb8..16f6f37 100644 --- a/tnet_io/init.c +++ b/tnet_io/init.c @@ -40,10 +40,17 @@ static int feat_repo_next(lua_State *L) { return 0; } +static int feat_repo_is_end(lua_State *L) { + TNetFeatureRepo *repo = luaT_checkudata(L, 1, nerv_tnet_feat_repo_tname); + lua_pushboolean(L, tnet_feature_repo_is_end(repo)); + return 1; +} + static const luaL_Reg feat_repo_methods[] = { {"cur_utter", feat_repo_current_utterance}, {"cur_tag", feat_repo_current_tag}, {"next", feat_repo_next}, + {"is_end", feat_repo_is_end}, {NULL, NULL} }; -- cgit v1.2.3-70-g09d2