From 96a32415ab43377cf1575bd3f4f2980f58028209 Mon Sep 17 00:00:00 2001 From: Determinant Date: Fri, 14 Aug 2015 11:51:42 +0800 Subject: add implementation for kaldi io (by ymz) --- kaldi_io/src/kaldi/util/table-types.h | 137 ++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 kaldi_io/src/kaldi/util/table-types.h (limited to 'kaldi_io/src/kaldi/util/table-types.h') diff --git a/kaldi_io/src/kaldi/util/table-types.h b/kaldi_io/src/kaldi/util/table-types.h new file mode 100644 index 0000000..313d1aa --- /dev/null +++ b/kaldi_io/src/kaldi/util/table-types.h @@ -0,0 +1,137 @@ +// util/table-types.h + +// Copyright 2009-2011 Microsoft Corporation + +// See ../../COPYING for clarification regarding multiple authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +// WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +// MERCHANTABLITY OR NON-INFRINGEMENT. +// See the Apache 2 License for the specific language governing permissions and +// limitations under the License. + + +#ifndef KALDI_UTIL_TABLE_TYPES_H_ +#define KALDI_UTIL_TABLE_TYPES_H_ +#include "base/kaldi-common.h" +#include "util/kaldi-table.h" +#include "util/kaldi-holder.h" +#include "matrix/matrix-lib.h" + +namespace kaldi { + +// This header defines typedefs that are specific instantiations of +// the Table types. + +/// \addtogroup table_types +/// @{ + +typedef TableWriter > > BaseFloatMatrixWriter; +typedef SequentialTableReader > > SequentialBaseFloatMatrixReader; +typedef RandomAccessTableReader > > RandomAccessBaseFloatMatrixReader; +typedef RandomAccessTableReaderMapped > > RandomAccessBaseFloatMatrixReaderMapped; + +typedef TableWriter > > DoubleMatrixWriter; +typedef SequentialTableReader > > SequentialDoubleMatrixReader; +typedef RandomAccessTableReader > > RandomAccessDoubleMatrixReader; +typedef RandomAccessTableReaderMapped > > RandomAccessDoubleMatrixReaderMapped; + +typedef TableWriter > CompressedMatrixWriter; + +typedef TableWriter > > BaseFloatVectorWriter; +typedef SequentialTableReader > > SequentialBaseFloatVectorReader; +typedef RandomAccessTableReader > > RandomAccessBaseFloatVectorReader; +typedef RandomAccessTableReaderMapped > > RandomAccessBaseFloatVectorReaderMapped; + +typedef TableWriter > > DoubleVectorWriter; +typedef SequentialTableReader > > SequentialDoubleVectorReader; +typedef RandomAccessTableReader > > RandomAccessDoubleVectorReader; + +typedef TableWriter > > BaseFloatCuMatrixWriter; +typedef SequentialTableReader > > SequentialBaseFloatCuMatrixReader; +typedef RandomAccessTableReader > > RandomAccessBaseFloatCuMatrixReader; +typedef RandomAccessTableReaderMapped > > RandomAccessBaseFloatCuMatrixReaderMapped; + +typedef TableWriter > > DoubleCuMatrixWriter; +typedef SequentialTableReader > > SequentialDoubleCuMatrixReader; +typedef RandomAccessTableReader > > RandomAccessDoubleCuMatrixReader; +typedef RandomAccessTableReaderMapped > > RandomAccessDoubleCuMatrixReaderMapped; + +typedef TableWriter > > BaseFloatCuVectorWriter; +typedef SequentialTableReader > > SequentialBaseFloatCuVectorReader; +typedef RandomAccessTableReader > > RandomAccessBaseFloatCuVectorReader; +typedef RandomAccessTableReaderMapped > > RandomAccessBaseFloatCuVectorReaderMapped; + +typedef TableWriter > > DoubleCuVectorWriter; +typedef SequentialTableReader > > SequentialDoubleCuVectorReader; +typedef RandomAccessTableReader > > RandomAccessDoubleCuVectorReader; + + +typedef TableWriter > Int32Writer; +typedef SequentialTableReader > SequentialInt32Reader; +typedef RandomAccessTableReader > RandomAccessInt32Reader; + +typedef TableWriter > Int32VectorWriter; +typedef SequentialTableReader > SequentialInt32VectorReader; +typedef RandomAccessTableReader > RandomAccessInt32VectorReader; + +typedef TableWriter > Int32VectorVectorWriter; +typedef SequentialTableReader > SequentialInt32VectorVectorReader; +typedef RandomAccessTableReader > RandomAccessInt32VectorVectorReader; + +typedef TableWriter > Int32PairVectorWriter; +typedef SequentialTableReader > SequentialInt32PairVectorReader; +typedef RandomAccessTableReader > RandomAccessInt32PairVectorReader; + +typedef TableWriter > BaseFloatPairVectorWriter; +typedef SequentialTableReader > SequentialBaseFloatPairVectorReader; +typedef RandomAccessTableReader > RandomAccessBaseFloatPairVectorReader; + +typedef TableWriter > BaseFloatWriter; +typedef SequentialTableReader > SequentialBaseFloatReader; +typedef RandomAccessTableReader > RandomAccessBaseFloatReader; +typedef RandomAccessTableReaderMapped > RandomAccessBaseFloatReaderMapped; + +typedef TableWriter > DoubleWriter; +typedef SequentialTableReader > SequentialDoubleReader; +typedef RandomAccessTableReader > RandomAccessDoubleReader; + +typedef TableWriter > BoolWriter; +typedef SequentialTableReader > SequentialBoolReader; +typedef RandomAccessTableReader > RandomAccessBoolReader; + + + +/// TokenWriter is a writer specialized for std::string where the strings +/// are nonempty and whitespace-free. T == std::string +typedef TableWriter TokenWriter; +typedef SequentialTableReader SequentialTokenReader; +typedef RandomAccessTableReader RandomAccessTokenReader; + + +/// TokenVectorWriter is a writer specialized for sequences of +/// std::string where the strings are nonempty and whitespace-free. +/// T == std::vector +typedef TableWriter TokenVectorWriter; +// Ditto for SequentialTokenVectorReader. +typedef SequentialTableReader SequentialTokenVectorReader; +typedef RandomAccessTableReader RandomAccessTokenVectorReader; + + +/// @} + +// Note: for FST reader/writer, see ../fstext/fstext-utils.h +// [not done yet]. + +} // end namespace kaldi + + + +#endif -- cgit v1.2.3