Mercurial > hg > audiodb
comparison lshlib.h @ 324:c93be2f3a674
Merge of branches/large_adb -r 514:524 onto the trunk. No conflicts. Added LARGE_ADB support. Turn on with --ntracks 20001 or greater. Use --adb_feature_root to locate feature files at QUERY time. A bug fix in LSH indexing that was incorrectly thresholding large numbers of shingles.
author | mas01mc |
---|---|
date | Thu, 21 Aug 2008 21:28:33 +0000 |
parents | 81ad865402e7 |
children | fe4d5b763086 |
comparison
equal
deleted
inserted
replaced
315:d2c56d4f841e | 324:c93be2f3a674 |
---|---|
56 | 56 |
57 #define O2_SERIAL_VERSION 1 // Sync with SVN version | 57 #define O2_SERIAL_VERSION 1 // Sync with SVN version |
58 #define O2_SERIAL_HEADER_SIZE sizeof(SerialHeaderT) | 58 #define O2_SERIAL_HEADER_SIZE sizeof(SerialHeaderT) |
59 #define O2_SERIAL_ELEMENT_SIZE sizeof(SerialElementT) | 59 #define O2_SERIAL_ELEMENT_SIZE sizeof(SerialElementT) |
60 #define O2_SERIAL_MAX_TABLES (200) | 60 #define O2_SERIAL_MAX_TABLES (200) |
61 #define O2_SERIAL_MAX_ROWS (1000000) | 61 #define O2_SERIAL_MAX_ROWS (1000000000) |
62 #define O2_SERIAL_MAX_COLS (100000) | 62 #define O2_SERIAL_MAX_COLS (1000000) |
63 #define O2_SERIAL_MAX_DIM (2000) | 63 #define O2_SERIAL_MAX_DIM (2000) |
64 #define O2_SERIAL_MAX_FUNS (100) | 64 #define O2_SERIAL_MAX_FUNS (100) |
65 #define O2_SERIAL_MAX_BINWIDTH (200) | 65 #define O2_SERIAL_MAX_BINWIDTH (200) |
66 #define O2_SERIAL_MAXFILESIZE (4000000000UL) | 66 #define O2_SERIAL_MAXFILESIZE (4000000000UL) |
67 | 67 |
68 // Flags for Serial Header | 68 // Flags for Serial Header |
69 #define O2_SERIAL_FILEFORMAT1 (0x1U) // Optimize for on-disk search | 69 #define O2_SERIAL_FILEFORMAT1 (0x1U) // Optimize disk format for on-disk search |
70 #define O2_SERIAL_FILEFORMAT2 (0x2U) // Optimize for in-core search | 70 #define O2_SERIAL_FILEFORMAT2 (0x2U) // Optimize disk format for in-core search |
71 #define O2_SERIAL_COREFORMAT1 (0x4U) | |
72 #define O2_SERIAL_COREFORMAT2 (0x8U) | |
71 | 73 |
72 // Flags for serialization fileformat2: use high 3 bits of Uns32T | 74 // Flags for serialization fileformat2: use high 3 bits of Uns32T |
73 #define O2_SERIAL_TOKEN_T1 (0xFFFFFFFC) | 75 #define O2_SERIAL_TOKEN_T1 (0xFFFFFFFCU) |
74 #define O2_SERIAL_TOKEN_T2 (0xFFFFFFFDU) | 76 #define O2_SERIAL_TOKEN_T2 (0xFFFFFFFDU) |
75 #define O2_SERIAL_TOKEN_ENDTABLE (0xFFFFFFFEU) | 77 #define O2_SERIAL_TOKEN_ENDTABLE (0xFFFFFFFEU) |
76 | 78 |
77 #define O2_INDEX_MAXSTR (512) | 79 #define O2_INDEX_MAXSTR (256) |
78 | 80 |
79 unsigned align_up(unsigned x, unsigned w); | 81 unsigned align_up(unsigned x, unsigned w); |
80 | 82 |
81 #define O2_SERIAL_FUNCTIONS_SIZE (align_up(sizeof(float) * O2_SERIAL_MAX_TABLES * O2_SERIAL_MAX_FUNS * O2_SERIAL_MAX_DIM \ | 83 #define O2_SERIAL_FUNCTIONS_SIZE (align_up(sizeof(float) * O2_SERIAL_MAX_TABLES * O2_SERIAL_MAX_FUNS * O2_SERIAL_MAX_DIM \ |
82 + sizeof(float) * O2_SERIAL_MAX_TABLES * O2_SERIAL_MAX_FUNS + \ | 84 + sizeof(float) * O2_SERIAL_MAX_TABLES * O2_SERIAL_MAX_FUNS + \ |
318 void serial_bucket_chain_point(SerialElementT* pe, Uns32T qpos); | 320 void serial_bucket_chain_point(SerialElementT* pe, Uns32T qpos); |
319 void serial_bucket_dump(SerialElementT* pe); | 321 void serial_bucket_dump(SerialElementT* pe); |
320 | 322 |
321 // Callback Function for point reporting | 323 // Callback Function for point reporting |
322 void* calling_instance; // store calling object instance for member-function callback | 324 void* calling_instance; // store calling object instance for member-function callback |
323 void (*add_point_callback)(void*, Uns32T, Uns32T, float); // The callback | 325 ReporterCallbackPtr add_point_callback; // Pointer to the callback function |
324 | 326 |
325 public: | 327 public: |
326 G(char* lshFile, bool lshInCore = false); // unserialize constructor | 328 G(char* lshFile, bool lshInCore = false); // unserialize constructor |
327 G(float w, Uns32T k,Uns32T m, Uns32T d, Uns32T N, Uns32T C, float r); // core constructor | 329 G(float w, Uns32T k,Uns32T m, Uns32T d, Uns32T N, Uns32T C, float r); // core constructor |
328 ~G(); | 330 ~G(); |