|
|
|
@ -644,9 +644,6 @@ void BinaryDescriptorMatcher::Mihasher::query( UINT32* results, UINT32* numres, |
|
|
|
|
|
|
|
|
|
/* counting everything retrieved (duplicates are counted multiple times)
|
|
|
|
|
number of lookups (and xors) */ |
|
|
|
|
UINT32 nl = 0; |
|
|
|
|
|
|
|
|
|
UINT32 nd = 0; |
|
|
|
|
UINT32 *arr; |
|
|
|
|
int size = 0; |
|
|
|
|
UINT32 index; |
|
|
|
@ -672,8 +669,6 @@ void BinaryDescriptorMatcher::Mihasher::query( UINT32* results, UINT32* numres, |
|
|
|
|
else |
|
|
|
|
curb = b - 1; |
|
|
|
|
UINT64 chunksk = chunks[k]; |
|
|
|
|
/* number of bit-strings with s number of 1s */ |
|
|
|
|
nl += xornum[s + 1] - xornum[s]; |
|
|
|
|
|
|
|
|
|
/* the bit-string with s number of 1s */ |
|
|
|
|
UINT64 bitstr = 0; |
|
|
|
@ -706,7 +701,6 @@ void BinaryDescriptorMatcher::Mihasher::query( UINT32* results, UINT32* numres, |
|
|
|
|
arr = H[k].query( chunksk ^ bitstr, &size ); // lookup
|
|
|
|
|
if( size ) |
|
|
|
|
{ /* the corresponding bucket is not empty */ |
|
|
|
|
nd += size; |
|
|
|
|
for ( int c = 0; c < size; c++ ) |
|
|
|
|
{ |
|
|
|
|
index = arr[c]; |
|
|
|
|