資源簡介
E2LSH的源代碼,p穩定分布LSH
用于大規模的圖片檢索

代碼片段和文件信息
/*
?*?Copyright?(c)?2004-2005?Massachusetts?Institute?of?Technology.
?*?All?Rights?Reserved.
?*
?*?MIT?grants?permission?to?use?copy?modify?and?distribute?this?software?and
?*?its?documentation?for?NON-COMMERCIAL?purposes?and?without?fee?provided?that
?*?this?copyright?notice?appears?in?all?copies.
?*
?*?MIT?provides?this?software?“as?is“?without?representations?or?warranties?of
?*?any?kind?either?expressed?or?implied?including?but?not?limited?to?the
?*?implied?warranties?of?merchantability?fitness?for?a?particular?purpose?and
?*?noninfringement.??MIT?shall?not?be?liable?for?any?damages?arising?from?any
?*?use?of?this?software.
?*
?*?Author:?Alexandr?Andoni?(andoni@mit.edu)?Piotr?Indyk?(indyk@mit.edu)
?*/
#include?“headers.h“
//?Creates?a?new?bucket?with?specified?fields.?The?new?bucket?contains
//?only?a?single?entry?--?bucketEntry.?bucketEntry->nextEntry?is
//?expected?to?be?NULL.
inline?PGBucketT?newGBucket(PUHashStructureT?uhash?Uns32T?control1?/*PPointT?point?*/?Int32T?pointIndex?PGBucketT?nextGBucket){
??PGBucketT?bucket;
??if?(uhash?!=?NULL?&&?uhash->unusedPGBuckets?!=?NULL){
????bucket?=?uhash->unusedPGBuckets;
????uhash->unusedPGBuckets?=?uhash->unusedPGBuckets->nextGBucketInChain;
??}?else?{
????FAILIF(NULL?==?(bucket?=?(PGBucketT)MALLOC(sizeof(GBucketT))));
????nAllocatedGBuckets++;
??}
??ASSERT(bucket?!=?NULL);
??bucket->controlValue1?=?control1;
??bucket->firstEntry.pointIndex?=?pointIndex;
??bucket->firstEntry.nextEntry?=?NULL;
??bucket->nextGBucketInChain?=?nextGBucket;
??nGBuckets++;
??return?bucket;
}
//?Adds?the?entry??to?the?bucket?.
inline?void?addPointToGBucket(PUHashStructureT?uhash?PGBucketT?bucket/*?PPointT?point*/??Int32T?pointIndex){
??ASSERT(bucket?!=?NULL);
??ASSERT(uhash?!=?NULL);
??//?create?a?new?bucket?entry?for?the?point
??TIMEV_START(timeBucketCreation);
??PBucketEntryT?bucketEntry;
??if?(uhash->unusedPBucketEntrys?!=?NULL){
????bucketEntry?=?uhash->unusedPBucketEntrys;
????uhash->unusedPBucketEntrys?=?uhash->unusedPBucketEntrys->nextEntry;
??}else{
????FAILIF(NULL?==?(bucketEntry?=?(PBucketEntryT)MALLOC(sizeof(BucketEntryT))));
????nAllocatedBEntries++;
??}
??ASSERT(bucketEntry?!=?NULL);
??bucketEntry->pointIndex?=?pointIndex;
??TIMEV_END(timeBucketCreation);
??
??bucketEntry->nextEntry?=?bucket->firstEntry.nextEntry;
??bucket->firstEntry.nextEntry?=?bucketEntry;
}
//?Creates?a?new?UH?structure?(initializes?the?hash?table?and?the?hash
//?functions?used).?If?==HT_PACKED?or?HT_HYBRID_CHAINS?then
//??gives?the?sizes?of?all?the?static?arrays?that?are
//?used.?Otherwise?parameter??is?not?used.
PUHashStructureT?newUHashStructure(IntT?typeHT?Int32T?hashTableSize?IntT?bucketVectorLength?BooleanT?useExternalUHFs?Uns32T?*(&mainHashA)?Uns32T?*(&controlHash1)?PUHashStructureT?modelHT){
??PUHashStructureT?uhash;
??FAILIF(NULL?==?(uhash?=?(PUHashStructureT)MALLOC(sizeof(UHashStructureT))));
??uhash->typeHT?=?typeHT;
??uhash->hashTableSize?=?hashTabl
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-09-13?09:31??E2LSH\
?????文件????????1698??2009-03-24?07:55??E2LSH\Makefile
?????目錄???????????0??2013-09-13?09:31??E2LSH\bin\
?????文件?????????911??2009-03-24?07:55??E2LSH\bin\compile
?????文件?????????420??2009-03-24?07:55??E2LSH\bin\exact
?????文件????????1070??2009-03-24?07:55??E2LSH\bin\lsh
?????文件?????????991??2009-03-24?07:55??E2LSH\bin\lsh_computeParams
?????文件?????????618??2009-03-24?07:55??E2LSH\bin\lsh_fromParams
?????文件??????228997??2009-03-24?07:55??E2LSH\manual.ps
?????文件?????7057000??2009-03-24?07:55??E2LSH\mnist1k.dts
?????文件???????63513??2009-03-24?07:55??E2LSH\mnist1k.q
?????目錄???????????0??2014-01-03?11:01??E2LSH\sources\
?????文件????????7245??2009-03-24?07:55??E2LSH\sources\BasicDefinitions.h
?????文件????????7211??2009-03-24?07:55??E2LSH\sources\BasicDefinitions.h.~1.8.~
?????文件????????7212??2009-03-24?07:55??E2LSH\sources\BasicDefinitions.h~
?????文件???????27332??2009-03-24?07:55??E2LSH\sources\BucketHashing.cpp
?????文件????????7441??2009-03-24?07:55??E2LSH\sources\BucketHashing.h
?????文件????????1851??2009-03-24?07:55??E2LSH\sources\Geometry.cpp
?????文件????????1562??2009-03-24?07:55??E2LSH\sources\Geometry.cpp.~1.3.~
?????文件????????1562??2009-03-24?07:55??E2LSH\sources\Geometry.cpp~
?????文件????????1376??2009-03-24?07:55??E2LSH\sources\Geometry.h
?????文件????????1156??2009-03-24?07:55??E2LSH\sources\Geometry.h.~1.2.~
?????文件????????1311??2009-03-24?07:55??E2LSH\sources\Geometry.h~
?????文件?????????770??2009-03-24?07:55??E2LSH\sources\GlobalVars.cpp
?????文件????????2332??2009-03-24?07:55??E2LSH\sources\GlobalVars.h
?????文件???????13224??2009-03-24?07:55??E2LSH\sources\LSHMain.cpp
?????文件???????13219??2009-03-24?07:55??E2LSH\sources\LSHMain.cpp.~1.17.~
?????文件???????13219??2009-03-24?07:55??E2LSH\sources\LSHMain.cpp~
?????文件???????29672??2009-03-24?07:55??E2LSH\sources\LocalitySensitiveHashing.cpp
?????文件???????29670??2009-03-24?07:55??E2LSH\sources\LocalitySensitiveHashing.cpp.~1.7.~
?????文件???????29670??2009-03-24?07:55??E2LSH\sources\LocalitySensitiveHashing.cpp~
............此處省略23個文件信息
- 上一篇:FastDFS介紹官方文檔
- 下一篇:FPGA開發板原理圖
評論
共有 條評論