Welcome to mirror list, hosted at ThFree Co, Russian Federation.

utility.h « src « mgizapp - github.com/moses-smt/mgiza.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 32a5a170a6f5472889c760b4404108a20332c13f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*

EGYPT Toolkit for Statistical Machine Translation
Written by Yaser Al-Onaizan, Jan Curin, Michael Jahr, Kevin Knight, John Lafferty, Dan Melamed, David Purdy, Franz Och, Noah Smith, and David Yarowsky.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA.

*/
#ifndef utility_h
#define utility_h
#include <iostream>
#include <ctime>
#include "Perplexity.h"
#include "Vector.h"
#include "TTables.h"
#include "getSentence.h"
#include "vocab.h"

extern void printHelp(void);
extern void parseConfigFile (char * fname );
extern void parseArguments(int argc, char *argv[]);
extern void generatePerplexityReport(const Perplexity& trainperp,
                                     const Perplexity& testperp,
                                     const Perplexity& trainVperp,
                                     const Perplexity& testVperp,
                                     ostream& of, int trainsize,
                                     int testsize, unsigned int last, bool);

extern void  printSentencePair(Vector<WordIndex>& es, Vector<WordIndex>& fs, ostream& of);

extern void printOverlapReport(const tmodel<COUNT, PROB>& tTable,
                               sentenceHandler& testHandler, vcbList& trainEList,
                               vcbList& trainFList, vcbList& testEList, vcbList& testFList);

extern void printAlignToFile(const Vector<WordIndex>& es,  const Vector<WordIndex>& fs,
                             const Vector<WordEntry>& evlist, const Vector<WordEntry>& fvlist,
                             ostream& of2, const Vector<WordIndex>& viterbi_alignment, int pair_no,
                             double viterbi_score);

extern double factorial(int) ;

string my_ctime(const time_t* t);


/** Return a nonnegative number as a human-readable string of the given length.
 *
 * The string is not localized, and will be at least the specified number of
 * digits long.  If the value is not large enough, it will be zero-padded.
 */
inline std::string represent_number(unsigned int value, int digits=1) {
  std::string result;
  for (unsigned int remainder = value ; remainder > 0; remainder /= 10)
    result.insert(0, 1, '0' + remainder % 10);
  if (result.size() < digits) result.insert(0, digits - result.size(), '0');
  return result;
}

#endif