diff --git a/scanner/scanner.c b/scanner/scanner.c index 73b7bfc..ccd8fcc 100644 --- a/scanner/scanner.c +++ b/scanner/scanner.c @@ -300,10 +300,15 @@ int main(int argc, char *argv[]) { fprintf(stderr, "Read %ld face descriptors...\n", entries); long double total = 0.0; + long int processed = 0; for (long i = 0; i < entries; i++) { Face *pLink = ppFaces[i]; for (long j = 0; j < entries; j++) { Face *pTarget = ppFaces[j]; + processed++; + if (processed % 1000 == 0) { + fprintf(stderr, "Computed %ld%% complete.\n", (100 * processed / (entries * entries))); + } if (i == j) { pLink->distances[i] = 0.0; pTarget->distances[j] = 0.0; @@ -396,14 +401,23 @@ int main(int argc, char *argv[]) { } fprintf(stderr, "facedistances deleted and transaction started.\n"); + for (long i = 0; i < entries; i++) { + memset(ppFaces[i]->distances, 0, sizeof(*ppFaces[i]->distances) * entries); + } char sqlBuf[1024]; - int sourceIndex = 0, lines = 0; + + processed = 0; for (long i = 0; i < entries; i++) { Face *pLink = ppFaces[i]; - int targetIndex = 0; for (long j = 0; j < entries; j++) { Face *pTarget = ppFaces[j]; + + processed++; + if (processed % 1000 == 0) { + fprintf(stderr, "Computed %ld%% complete.\n", (100 * processed / (entries * entries))); + } + if (i == j) { pLink->distances[i] = 0.0; pTarget->distances[j] = 0.0; @@ -411,7 +425,7 @@ int main(int argc, char *argv[]) { } if (pLink->distances[j] != 0.0) { -// continue; + continue; } pLink->distances[j] = @@ -429,11 +443,6 @@ int main(int argc, char *argv[]) { sqlite3_close(db); return 1; } - lines++; - if (lines % 1000 == 0) { - fprintf(stderr, "...output %d DB lines (%0.2f complete)...\n", lines, - (float)(1. * sourceIndex / (1. * entries))); - } } } }