28 std::locale::global(std::locale(
""));
35 for (
int i = start; i < end; ++i) {
36 EXPECT_EQ(i, v[i - start]);
43#ifdef DISABLED_LEGACY_ENGINE
52 auto features = std::make_unique<INT_FEATURE_STRUCT[]>(total_size);
58 features[f_index].X = x;
59 features[f_index].Y = y;
60 features[f_index].Theta = theta;
64 std::vector<int> index_features;
66 EXPECT_EQ(total_size, index_features.size());
68 std::vector<int> map_features;
71 EXPECT_EQ(total_buckets, map_features.size());
72 ExpectContiguous(map_features, 0, total_buckets);
81 for (
int index = 0; index < total_buckets; ++index) {
82 for (
int dir = -tesseract::kNumOffsetMaps; dir <= tesseract::kNumOffsetMaps; ++dir) {
85 EXPECT_EQ(index, offset_index);
86 }
else if (offset_index >= 0) {
90 EXPECT_LE(abs(f.
X - f2.
X), dx);
91 EXPECT_LE(abs(f.
Y - f2.
Y), dy);
96 EXPECT_LE(theta_delta, dtheta);
112 EXPECT_EQ(total_size, index_features.size());
118 EXPECT_EQ(expected_misses, misses);
119 EXPECT_EQ(total_buckets - 2, map_features.size());
120 ExpectContiguous(map_features, 0, total_buckets - 2);
const int kIntFeatureExtent
TEST_F(EuroText, FastLatinOCR)
void Init(uint8_t xbuckets, uint8_t ybuckets, uint8_t thetabuckets)
int MapIndexedFeatures(const std::vector< int > &index_features, std::vector< int > *map_features) const
INT_FEATURE_STRUCT InverseIndexFeature(int index_feature) const
int OffsetFeature(int index_feature, int dir) const
void DeleteMapFeature(int map_feature)
void Init(const IntFeatureSpace &feature_space)
void IndexAndSortFeatures(const INT_FEATURE_STRUCT *features, int num_features, std::vector< int > *sorted_features) const
int FinalizeMapping(SampleIterator *it)
void ExpectContiguous(const std::vector< int > &v, int start, int end)