diff options
author | Wu, Ke <wuke@cs.umd.edu> | 2014-12-17 16:15:13 -0500 |
---|---|---|
committer | Wu, Ke <wuke@cs.umd.edu> | 2014-12-17 16:15:13 -0500 |
commit | 17dbb7d5ab1544899b1b9e867d2246a0a93e3aa8 (patch) | |
tree | 7fa2a51763a1b67fb325e86b0e3f764dd119cd70 /klm/lm/interpolate/arpa_to_stream.hh | |
parent | 1983c75c35b7f5dc3f356a2f9a9345d632b87650 (diff) | |
parent | 1613f1fc44ca67820afd7e7b21eb54b316c8ce55 (diff) |
Merge branch 'const_reorder_2' into softsyn_2
Diffstat (limited to 'klm/lm/interpolate/arpa_to_stream.hh')
-rw-r--r-- | klm/lm/interpolate/arpa_to_stream.hh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/klm/lm/interpolate/arpa_to_stream.hh b/klm/lm/interpolate/arpa_to_stream.hh new file mode 100644 index 00000000..4613998d --- /dev/null +++ b/klm/lm/interpolate/arpa_to_stream.hh @@ -0,0 +1,38 @@ +#include "lm/read_arpa.hh" +#include "util/file_piece.hh" + +#include <vector> + +#include <stdint.h> + +namespace util { namespace stream { class ChainPositions; } } + +namespace lm { + +namespace ngram { +template <class T> class GrowableVocab; +class WriteUniqueWords; +} // namespace ngram + +namespace interpolate { + +class ARPAToStream { + public: + // Takes ownership of fd. + explicit ARPAToStream(int fd, ngram::GrowableVocab<ngram::WriteUniqueWords> &vocab); + + std::size_t Order() const { return counts_.size(); } + + const std::vector<uint64_t> &Counts() const { return counts_; } + + void Run(const util::stream::ChainPositions &positions); + + private: + util::FilePiece in_; + + std::vector<uint64_t> counts_; + + ngram::GrowableVocab<ngram::WriteUniqueWords> &vocab_; +}; + +}} // namespaces |