comparison audioDB.cpp @ 84:94b6fb73d2ee

Hack the right answer out of the L2Norm offset computation. We need to subtract off the number vectors that we've just added, as dbH->length has already been updated to reflect them.
author mas01cr
date Tue, 02 Oct 2007 13:16:00 +0000
parents 1d2eecdc9639
children 4d2587e683ff
comparison
equal deleted inserted replaced
83:48aaee766d8a 84:94b6fb73d2ee
2451 } 2451 }
2452 */ 2452 */
2453 X+=dim; 2453 X+=dim;
2454 } 2454 }
2455 unsigned offset; 2455 unsigned offset;
2456 if(append) 2456 if(append) {
2457 offset=dbH->length/(dbH->dim*sizeof(double)); // number of vectors 2457 // FIXME: a hack, a very palpable hack: the vectors have already
2458 else 2458 // been inserted, and dbH->length has already been updated. We
2459 // need to subtract off again the number of vectors that we've
2460 // inserted this time...
2461 offset=(dbH->length/(dbH->dim*sizeof(double)))-n; // number of vectors
2462 } else {
2459 offset=0; 2463 offset=0;
2464 }
2460 memcpy(l2normTable+offset, l2buf, n*sizeof(double)); 2465 memcpy(l2normTable+offset, l2buf, n*sizeof(double));
2461 if(l2buf) 2466 if(l2buf)
2462 delete[] l2buf; 2467 delete[] l2buf;
2463 if(verbosity>2) { 2468 if(verbosity>2) {
2464 cerr << "done..." << endl; 2469 cerr << "done..." << endl;