00001 #ifndef MERT_TYPE_H_ 00002 #define MERT_TYPE_H_ 00003 00004 #include <vector> 00005 #include <map> 00006 #include <string> 00007 #include <utility> 00008 00009 namespace MosesTuning 00010 { 00011 00012 class FeatureStats; 00013 class FeatureArray; 00014 class FeatureData; 00015 class ScoreStats; 00016 class ScoreArray; 00017 class ScoreData; 00018 00019 typedef float parameter_t; 00020 //typedef std::vector<parameter_t> parameters_t;confusing; use std::vector<parameter_t> 00021 typedef std::vector<std::pair<unsigned int, unsigned int> > diff_t; 00022 typedef std::pair<float,diff_t > threshold; 00023 typedef std::vector<diff_t> diffs_t; 00024 typedef std::vector<unsigned int> candidates_t; 00025 00026 typedef float statscore_t; 00027 typedef std::vector<statscore_t> statscores_t; 00028 00029 00030 typedef float FeatureStatsType; 00031 typedef FeatureStatsType* featstats_t; 00032 //typedef std::vector<FeatureStatsType> featstats_t; 00033 typedef std::vector<FeatureStats> featarray_t; 00034 typedef std::vector<FeatureArray> featdata_t; 00035 00036 typedef float ScoreStatsType; 00037 typedef ScoreStatsType* scorestats_t; 00038 //typedef std::vector<ScoreStatsType> scorestats_t; 00039 typedef std::vector<ScoreStats> scorearray_t; 00040 typedef std::vector<ScoreArray> scoredata_t; 00041 00042 typedef std::map<std::size_t, int> idx2name; 00043 typedef std::map<int, std::size_t> name2idx; 00044 00045 typedef enum { HAMMING_DISTANCE=0, KENDALL_DISTANCE } distanceMetric_t; 00046 typedef enum { REFERENCE_CHOICE_AVERAGE=0, REFERENCE_CHOICE_CLOSEST } distanceMetricReferenceChoice_t; 00047 00048 } 00049 00050 #endif // MERT_TYPE_H_