@@ -50,58 +50,51 @@ using tesseract::UnicharRating;
50
50
const float IntegerMatcher::kSEExponentialMultiplier = 0.0 ;
51
51
const float IntegerMatcher::kSimilarityCenter = 0.0075 ;
52
52
53
- static const uinT8 offset_table[256 ] = {
54
- 255 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
55
- 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
56
- 5 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
57
- 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
58
- 6 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
59
- 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
60
- 5 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
61
- 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
62
- 7 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
63
- 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
64
- 5 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
65
- 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
66
- 6 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
67
- 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
68
- 5 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 ,
69
- 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0
70
- };
71
-
72
- static const uinT8 next_table[256 ] = {
73
- 0 , 0 , 0 , 0x2 , 0 , 0x4 , 0x4 , 0x6 , 0 , 0x8 , 0x8 , 0x0a , 0x08 , 0x0c , 0x0c , 0x0e ,
74
- 0 , 0x10 , 0x10 , 0x12 , 0x10 , 0x14 , 0x14 , 0x16 , 0x10 , 0x18 , 0x18 , 0x1a , 0x18 ,
75
- 0x1c , 0x1c , 0x1e ,
76
- 0 , 0x20 , 0x20 , 0x22 , 0x20 , 0x24 , 0x24 , 0x26 , 0x20 , 0x28 , 0x28 , 0x2a , 0x28 ,
77
- 0x2c , 0x2c , 0x2e ,
78
- 0x20 , 0x30 , 0x30 , 0x32 , 0x30 , 0x34 , 0x34 , 0x36 , 0x30 , 0x38 , 0x38 , 0x3a ,
79
- 0x38 , 0x3c , 0x3c , 0x3e ,
80
- 0 , 0x40 , 0x40 , 0x42 , 0x40 , 0x44 , 0x44 , 0x46 , 0x40 , 0x48 , 0x48 , 0x4a , 0x48 ,
81
- 0x4c , 0x4c , 0x4e ,
82
- 0x40 , 0x50 , 0x50 , 0x52 , 0x50 , 0x54 , 0x54 , 0x56 , 0x50 , 0x58 , 0x58 , 0x5a ,
83
- 0x58 , 0x5c , 0x5c , 0x5e ,
84
- 0x40 , 0x60 , 0x60 , 0x62 , 0x60 , 0x64 , 0x64 , 0x66 , 0x60 , 0x68 , 0x68 , 0x6a ,
85
- 0x68 , 0x6c , 0x6c , 0x6e ,
86
- 0x60 , 0x70 , 0x70 , 0x72 , 0x70 , 0x74 , 0x74 , 0x76 , 0x70 , 0x78 , 0x78 , 0x7a ,
87
- 0x78 , 0x7c , 0x7c , 0x7e ,
88
- 0 , 0x80 , 0x80 , 0x82 , 0x80 , 0x84 , 0x84 , 0x86 , 0x80 , 0x88 , 0x88 , 0x8a , 0x88 ,
89
- 0x8c , 0x8c , 0x8e ,
90
- 0x80 , 0x90 , 0x90 , 0x92 , 0x90 , 0x94 , 0x94 , 0x96 , 0x90 , 0x98 , 0x98 , 0x9a ,
91
- 0x98 , 0x9c , 0x9c , 0x9e ,
92
- 0x80 , 0xa0 , 0xa0 , 0xa2 , 0xa0 , 0xa4 , 0xa4 , 0xa6 , 0xa0 , 0xa8 , 0xa8 , 0xaa ,
93
- 0xa8 , 0xac , 0xac , 0xae ,
94
- 0xa0 , 0xb0 , 0xb0 , 0xb2 , 0xb0 , 0xb4 , 0xb4 , 0xb6 , 0xb0 , 0xb8 , 0xb8 , 0xba ,
95
- 0xb8 , 0xbc , 0xbc , 0xbe ,
96
- 0x80 , 0xc0 , 0xc0 , 0xc2 , 0xc0 , 0xc4 , 0xc4 , 0xc6 , 0xc0 , 0xc8 , 0xc8 , 0xca ,
97
- 0xc8 , 0xcc , 0xcc , 0xce ,
98
- 0xc0 , 0xd0 , 0xd0 , 0xd2 , 0xd0 , 0xd4 , 0xd4 , 0xd6 , 0xd0 , 0xd8 , 0xd8 , 0xda ,
99
- 0xd8 , 0xdc , 0xdc , 0xde ,
100
- 0xc0 , 0xe0 , 0xe0 , 0xe2 , 0xe0 , 0xe4 , 0xe4 , 0xe6 , 0xe0 , 0xe8 , 0xe8 , 0xea ,
101
- 0xe8 , 0xec , 0xec , 0xee ,
102
- 0xe0 , 0xf0 , 0xf0 , 0xf2 , 0xf0 , 0xf4 , 0xf4 , 0xf6 , 0xf0 , 0xf8 , 0xf8 , 0xfa ,
103
- 0xf8 , 0xfc , 0xfc , 0xfe
104
- };
53
+ #define offset_table_entries \
54
+ 255 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , \
55
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 5 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 4 , \
56
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 6 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , \
57
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 5 , \
58
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , \
59
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 7 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 4 , \
60
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 5 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , \
61
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 6 , \
62
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 4 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , \
63
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 5 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0 , 4 , \
64
+ 0 , 1 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 1 , 0 , 2 , 0 , 1 , 0
65
+
66
+ #define INTMATCHER_OFFSET_TABLE_SIZE 256
67
+
68
+ #define next_table_entries \
69
+ 0 , 0 , 0 , 0x2 , 0 , 0x4 , 0x4 , 0x6 , 0 , 0x8 , 0x8 , 0x0a , 0x08 , 0x0c , 0x0c , 0x0e , \
70
+ 0 , 0x10 , 0x10 , 0x12 , 0x10 , 0x14 , 0x14 , 0x16 , 0x10 , 0x18 , 0x18 , 0x1a , \
71
+ 0x18 , 0x1c , 0x1c , 0x1e , 0 , 0x20 , 0x20 , 0x22 , 0x20 , 0x24 , 0x24 , 0x26 , \
72
+ 0x20 , 0x28 , 0x28 , 0x2a , 0x28 , 0x2c , 0x2c , 0x2e , 0x20 , 0x30 , 0x30 , 0x32 , \
73
+ 0x30 , 0x34 , 0x34 , 0x36 , 0x30 , 0x38 , 0x38 , 0x3a , 0x38 , 0x3c , 0x3c , 0x3e , \
74
+ 0 , 0x40 , 0x40 , 0x42 , 0x40 , 0x44 , 0x44 , 0x46 , 0x40 , 0x48 , 0x48 , 0x4a , \
75
+ 0x48 , 0x4c , 0x4c , 0x4e , 0x40 , 0x50 , 0x50 , 0x52 , 0x50 , 0x54 , 0x54 , 0x56 , \
76
+ 0x50 , 0x58 , 0x58 , 0x5a , 0x58 , 0x5c , 0x5c , 0x5e , 0x40 , 0x60 , 0x60 , 0x62 , \
77
+ 0x60 , 0x64 , 0x64 , 0x66 , 0x60 , 0x68 , 0x68 , 0x6a , 0x68 , 0x6c , 0x6c , 0x6e , \
78
+ 0x60 , 0x70 , 0x70 , 0x72 , 0x70 , 0x74 , 0x74 , 0x76 , 0x70 , 0x78 , 0x78 , 0x7a , \
79
+ 0x78 , 0x7c , 0x7c , 0x7e , 0 , 0x80 , 0x80 , 0x82 , 0x80 , 0x84 , 0x84 , 0x86 , \
80
+ 0x80 , 0x88 , 0x88 , 0x8a , 0x88 , 0x8c , 0x8c , 0x8e , 0x80 , 0x90 , 0x90 , 0x92 , \
81
+ 0x90 , 0x94 , 0x94 , 0x96 , 0x90 , 0x98 , 0x98 , 0x9a , 0x98 , 0x9c , 0x9c , 0x9e , \
82
+ 0x80 , 0xa0 , 0xa0 , 0xa2 , 0xa0 , 0xa4 , 0xa4 , 0xa6 , 0xa0 , 0xa8 , 0xa8 , 0xaa , \
83
+ 0xa8 , 0xac , 0xac , 0xae , 0xa0 , 0xb0 , 0xb0 , 0xb2 , 0xb0 , 0xb4 , 0xb4 , 0xb6 , \
84
+ 0xb0 , 0xb8 , 0xb8 , 0xba , 0xb8 , 0xbc , 0xbc , 0xbe , 0x80 , 0xc0 , 0xc0 , 0xc2 , \
85
+ 0xc0 , 0xc4 , 0xc4 , 0xc6 , 0xc0 , 0xc8 , 0xc8 , 0xca , 0xc8 , 0xcc , 0xcc , 0xce , \
86
+ 0xc0 , 0xd0 , 0xd0 , 0xd2 , 0xd0 , 0xd4 , 0xd4 , 0xd6 , 0xd0 , 0xd8 , 0xd8 , 0xda , \
87
+ 0xd8 , 0xdc , 0xdc , 0xde , 0xc0 , 0xe0 , 0xe0 , 0xe2 , 0xe0 , 0xe4 , 0xe4 , 0xe6 , \
88
+ 0xe0 , 0xe8 , 0xe8 , 0xea , 0xe8 , 0xec , 0xec , 0xee , 0xe0 , 0xf0 , 0xf0 , 0xf2 , \
89
+ 0xf0 , 0xf4 , 0xf4 , 0xf6 , 0xf0 , 0xf8 , 0xf8 , 0xfa , 0xf8 , 0xfc , 0xfc , 0xfe
90
+
91
+ // See http://b/19318793 (#6) for a complete discussion. Merging arrays
92
+ // offset_table and next_table helps improve performance of PIE code.
93
+ static const uinT8 data_table[512 ] = {offset_table_entries, next_table_entries};
94
+
95
+ static const uinT8* const offset_table = &data_table[0 ];
96
+ static const uinT8* const next_table =
97
+ &data_table[INTMATCHER_OFFSET_TABLE_SIZE];
105
98
106
99
namespace tesseract {
107
100
@@ -1274,17 +1267,6 @@ float IntegerMatcher::ApplyCNCorrection(float rating, int blob_length,
1274
1267
(blob_length + matcher_multiplier);
1275
1268
}
1276
1269
1277
- /* ---------------------------------------------------------------------------*/
1278
- #ifndef GRAPHICS_DISABLED
1279
- // Print debug information about the best match for the current class.
1280
- void IntegerMatcher::DebugBestMatch (
1281
- int BestMatch, INT_RESULT Result) {
1282
- tprintf (" Rating = %5.1f%% Best Config = %3d, Distance = %5.1f\n " ,
1283
- 100.0 * Result->Rating , Result->Config ,
1284
- 100.0 * (65536.0 - BestMatch) / 65536.0 );
1285
- }
1286
- #endif
1287
-
1288
1270
/* ---------------------------------------------------------------------------*/
1289
1271
void
1290
1272
HeapSort (int n, register int ra[], register int rb[]) {
0 commit comments