OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-CompactHash commits / 7962541

Fixing extern C definition
7962541d0ce9e683dfcb4996ce39f737cc2f8903
by Bob Robey <brobey@lanl.gov> · 2015-10-25T04:58:32.000Z

Changed files (2) +510 -459

HashFactory/HashFactory.h +508 -457
……@@ -189,6 +189,10 @@ int clFinish(int command_queue);
189189#define HASH_BUCKET_STATUS_FULL /***/ -2
190190#define HASH_BUCKET_STATUS_LOCK /***/ -3
191191
192#ifdef __cplusplus
193extern "C" {
194#endif
195
192196/**
193197 * Hash_ExitCodeString will return a string representation of the given exit
194198 * code.
……@@ -197,7 +201,7 @@ int clFinish(int command_queue);
197201 *
198202 * @return A string representation of that exit code.
199203 */
200char *Hash_ExitCodeString(int exitCode);
204 char *Hash_ExitCodeString(int exitCode);
201205
202206/**
203207 * Hash_ExitCodeDebug will print a string representation of the given exit code
……@@ -205,7 +209,7 @@ char *Hash_ExitCodeString(int exitCode);
205209 *
206210 * @param exitCode
207211 */
208void Hash_ExitCodeDebug(int exitCode);
212 void Hash_ExitCodeDebug(int exitCode);
209213
210214/**
211215 * Hash_SetReportLevel sets a static report level variable in hash.c. It should
……@@ -213,7 +217,7 @@ void Hash_ExitCodeDebug(int exitCode);
213217 *
214218 * @param level The level of data collection desired.
215219 */
216void Hash_SetReportLevel(int level);
220 void Hash_SetReportLevel(int level);
217221
218222/**
219223 * Hash_GetReportLevel gets this variable.
……@@ -229,251 +233,143 @@ void Hash_SetReportLevel(int level);
229233 * Hash_Report will return information related to the
230234 * last important call.
231235 */
232int Hash_GetReportLevel();
233
234const char *Hash_GetKernelSourceString();
235int smallestProthPrimeAbove(int N);
236int largestProthPrimeUnder(int N);
236 int Hash_GetReportLevel();
237237
238typedef struct intintHash_Table_ intintHash_Table;
239typedef struct intintCLHash_Table_ intintCLHash_Table;
240typedef struct intintHash_Factory_ intintHash_Factory;
241typedef struct intintCLHash_Factory_ intintCLHash_Factory;
242intintHash_Factory *intintHash_CreateFactory(int HashTypes, int *emptyValue,
243 size_t localWorkSize,
244 cl_context * context,
245 cl_command_queue * queue);
246int intintHash_DestroyFactory(intintHash_Factory * factory);
247intintHash_Table *intintHash_CreateTable(intintHash_Factory * factory,
248 int hashTypes, size_t keyRange,
249 size_t numEntries, float loadFactor);
250int intintHash_EmptyTable(intintHash_Table * table);
251int intintHash_DestroyTable(intintHash_Table * table);
252cl_mem intintHash_GetTableDataBuffer(intintHash_Table * table);
253cl_mem *intintHash_GetTableDataBufferPtr(intintHash_Table * table);
254int intintHash_GetTableType(intintHash_Table * table);
255int intintHash_Query(intintHash_Table * table, size_t numKeys, int *keys,
256 int *valuesOutput);
257int intintHash_QuerySingle(intintHash_Table * table, int key, int *valueOutput);
258int intintHash_Insert(intintHash_Table * table, size_t numEntries, int *keys,
259 int *values);
260int intintHash_InsertSingle(intintHash_Table * table, int key, int value);
261int intintHash_InsertNoOverwrite(intintHash_Table * table, size_t numEntries,
262 int *keys, int *values);
263int intintHash_InsertSingleNoOverwrite(intintHash_Table * table, int key,
264 int value);
265int intintHash_BufferQuery(intintHash_Table * table, size_t numKeys,
266 cl_mem keys, cl_mem valuesOutput);
267int intintHash_BufferInsert(intintHash_Table * table, size_t numEntries,
268 cl_mem keys, cl_mem values);
269int intintHash_BufferInsertNoOverwrite(intintHash_Table * table,
270 size_t numEntries, cl_mem keys,
271 cl_mem values);
272static inline unsigned int intintHash_CompressIdentity(char data, int hashCode) {
273 return hashCode;
274}
275
276typedef struct intintHash_CompressLCGData {
277 long unsigned int a;
278 long unsigned int c;
279 unsigned int m;
280 unsigned int n;
281} intintHash_CompressLCGData;
282static inline unsigned int intintHash_CompressLCG(intintHash_CompressLCGData
283 compressLCGData,
284 int hashCode) {
285 return ((compressLCGData.a * hashCode +
286 compressLCGData.c) % compressLCGData.m) % compressLCGData.n;
287}
238 const char *Hash_GetKernelSourceString();
239 int smallestProthPrimeAbove(int N);
240 int largestProthPrimeUnder(int N);
288241
289int intintIdentityPerfectHash_CreateFactory(intintHash_Factory * factory,
290 int hashIndex);
291int intintIdentityPerfectHash_DestroyFactory(intintHash_Factory * factory,
292 int hashIndex);
293intintHash_Table *intintIdentityPerfectHash_CreateTable(intintHash_Factory *
294 factory, int hashIndex,
295 size_t keyRange,
296 size_t numEntries,
297 float loadFactor);
298int intintIdentityPerfectHash_InitTable(intintHash_Table * table, va_list args);
299int intintIdentityPerfectHash_DestroyTable(intintHash_Table * table);
300char *intintIdentityPerfectHash_Report(intintHash_Table * table);
301int intintIdentityPerfectHash_EmptyTable(intintHash_Table * table);
302int intintIdentityPerfectHash_Query(intintHash_Table * table, size_t numKeys,
303 int *keys, int *valuesOutput);
304int intintIdentityPerfectHash_QuerySingle(intintHash_Table * table, int key,
305 int *valueOutput);
306int intintIdentityPerfectHash_Insert(intintHash_Table * table,
307 size_t numEntries, int *keys, int *values);
308int intintIdentityPerfectHash_InsertSingle(intintHash_Table * table, int key,
309 int value);
310int intintIdentityPerfectHash_InsertNoOverwrite(intintHash_Table * table,
311 size_t numEntries, int *keys,
312 int *values);
313int intintIdentityPerfectHash_InsertSingleNoOverwrite(intintHash_Table * table,
314 int key, int value);
315int intintIdentityPerfectCLHash_CreateFactory(intintHash_Factory * factory,
316 int hashIndex);
317int intintIdentityPerfectCLHash_DestroyFactory(intintHash_Factory * factory,
318 int hashIndex);
319intintHash_Table *intintIdentityPerfectCLHash_CreateTable(intintHash_Factory *
320 factory,
321 int hashIndex,
322 size_t keyRange,
323 size_t numEntries,
324 float loadFactor);
325int intintIdentityPerfectCLHash_InitTable(intintHash_Table * table,
326 va_list args);
327int intintIdentityPerfectCLHash_DestroyTable(intintHash_Table * table);
328char *intintIdentityPerfectCLHash_Report(intintHash_Table * table);
329int intintIdentityPerfectCLHash_EmptyTable(intintHash_Table * table);
330int intintIdentityPerfectCLHash_Query(intintHash_Table * table, size_t numKeys,
331 int *keys, int *valuesOutput);
332int intintIdentityPerfectCLHash_QuerySingle(intintHash_Table * table, int key,
333 int *valueOutput);
334int intintIdentityPerfectCLHash_Insert(intintHash_Table * table,
335 size_t numEntries, int *keys,
336 int *values);
337int intintIdentityPerfectCLHash_InsertSingle(intintHash_Table * table, int key,
338 int value);
339int intintIdentityPerfectCLHash_InsertNoOverwrite(intintHash_Table * table,
340 size_t numEntries, int *keys,
341 int *values);
342int intintIdentityPerfectCLHash_InsertSingleNoOverwrite(intintHash_Table *
343 table, int key,
344 int value);
345int intintIdentityPerfectCLHash_BufferQuery(intintHash_Table * table,
346 size_t numKeys, cl_mem keysBuffer,
347 cl_mem valuesOutputBuffer);
348int intintIdentityPerfectCLHash_BufferInsert(intintHash_Table * table,
349 size_t numEntries,
350 cl_mem keysBuffer,
351 cl_mem valuesBuffer);
352int intintIdentityPerfectCLHash_BufferInsertNoOverwrite(intintHash_Table *
353 table,
354 size_t numEntries,
355 cl_mem keysBuffer,
356 cl_mem valuesBuffer);
357int intintIdentityPerfectOpenMPHash_CreateFactory(intintHash_Factory * factory,
358 int hashIndex);
359int intintIdentityPerfectOpenMPHash_DestroyFactory(intintHash_Factory * factory,
360 int hashIndex);
361intintHash_Table *intintIdentityPerfectOpenMPHash_CreateTable(intintHash_Factory
362 * factory,
363 int hashIndex,
364 size_t keyRange,
365 size_t numEntries,
366 float loadFactor);
367int intintIdentityPerfectOpenMPHash_InitTable(intintHash_Table * table,
368 va_list args);
369int intintIdentityPerfectOpenMPHash_DestroyTable(intintHash_Table * table);
370char *intintIdentityPerfectOpenMPHash_Report(intintHash_Table * table);
371int intintIdentityPerfectOpenMPHash_EmptyTable(intintHash_Table * table);
372int intintIdentityPerfectOpenMPHash_Query(intintHash_Table * table,
373 size_t numKeys, int *keys,
374 int *valuesOutput);
375int intintIdentityPerfectOpenMPHash_QuerySingle(intintHash_Table * table,
376 int key, int *valueOutput);
377int intintIdentityPerfectOpenMPHash_Insert(intintHash_Table * table,
378 size_t numEntries, int *keys,
379 int *values);
380int intintIdentityPerfectOpenMPHash_InsertSingle(intintHash_Table * table,
381 int key, int value);
382int intintIdentityPerfectOpenMPHash_InsertNoOverwrite(intintHash_Table * table,
383 size_t numEntries,
384 int *keys, int *values);
385int intintIdentityPerfectOpenMPHash_InsertSingleNoOverwrite(intintHash_Table *
386 table, int key,
387 int value);
388int intintIdentityPerfectOpenMPHash_BufferQuery(intintHash_Table * table,
389 size_t numKeys,
390 cl_mem keysBuffer,
391 cl_mem valuesOutputBuffer);
392int intintIdentityPerfectOpenMPHash_BufferInsert(intintHash_Table * table,
242 typedef struct intintHash_Table_ intintHash_Table;
243 typedef struct intintCLHash_Table_ intintCLHash_Table;
244 typedef struct intintHash_Factory_ intintHash_Factory;
245 typedef struct intintCLHash_Factory_ intintCLHash_Factory;
246 intintHash_Factory *intintHash_CreateFactory(int HashTypes,
247 int *emptyValue,
248 size_t localWorkSize,
249 cl_context * context,
250 cl_command_queue * queue);
251 int intintHash_DestroyFactory(intintHash_Factory * factory);
252 intintHash_Table *intintHash_CreateTable(intintHash_Factory * factory,
253 int hashTypes, size_t keyRange,
393254 size_t numEntries,
394 cl_mem keysBuffer,
395 cl_mem valuesBuffer);
396int intintIdentityPerfectOpenMPHash_BufferInsertNoOverwrite(intintHash_Table *
397 table,
398 size_t numEntries,
399 cl_mem keysBuffer,
400 cl_mem
401 valuesBuffer);
402int intintIdentitySentinelPerfectHash_CreateFactory(intintHash_Factory *
255 float loadFactor);
256 int intintHash_EmptyTable(intintHash_Table * table);
257 int intintHash_DestroyTable(intintHash_Table * table);
258 cl_mem intintHash_GetTableDataBuffer(intintHash_Table * table);
259 cl_mem *intintHash_GetTableDataBufferPtr(intintHash_Table * table);
260 int intintHash_GetTableType(intintHash_Table * table);
261 int intintHash_Query(intintHash_Table * table, size_t numKeys,
262 int *keys, int *valuesOutput);
263 int intintHash_QuerySingle(intintHash_Table * table, int key,
264 int *valueOutput);
265 int intintHash_Insert(intintHash_Table * table, size_t numEntries,
266 int *keys, int *values);
267 int intintHash_InsertSingle(intintHash_Table * table, int key,
268 int value);
269 int intintHash_InsertNoOverwrite(intintHash_Table * table,
270 size_t numEntries, int *keys,
271 int *values);
272 int intintHash_InsertSingleNoOverwrite(intintHash_Table * table,
273 int key, int value);
274 int intintHash_BufferQuery(intintHash_Table * table, size_t numKeys,
275 cl_mem keys, cl_mem valuesOutput);
276 int intintHash_BufferInsert(intintHash_Table * table, size_t numEntries,
277 cl_mem keys, cl_mem values);
278 int intintHash_BufferInsertNoOverwrite(intintHash_Table * table,
279 size_t numEntries, cl_mem keys,
280 cl_mem values);
281 static inline unsigned int intintHash_CompressIdentity(char data,
282 int hashCode) {
283 return hashCode;
284 }
285 typedef struct intintHash_CompressLCGData {
286 long unsigned int a;
287 long unsigned int c;
288 unsigned int m;
289 unsigned int n;
290 } intintHash_CompressLCGData;
291 static inline unsigned int
292 intintHash_CompressLCG(intintHash_CompressLCGData compressLCGData,
293 int hashCode) {
294 return ((compressLCGData.a * hashCode +
295 compressLCGData.c) % compressLCGData.m) %
296 compressLCGData.n;
297 }
298 int intintIdentityPerfectHash_CreateFactory(intintHash_Factory *
403299 factory, int hashIndex);
404int intintIdentitySentinelPerfectHash_DestroyFactory(intintHash_Factory *
300 int intintIdentityPerfectHash_DestroyFactory(intintHash_Factory *
405301 factory, int hashIndex);
406intintHash_Table
407 *intintIdentitySentinelPerfectHash_CreateTable(intintHash_Factory * factory,
302 intintHash_Table
303 *intintIdentityPerfectHash_CreateTable(intintHash_Factory * factory,
408304 int hashIndex,
409305 size_t keyRange,
410306 size_t numEntries,
411307 float loadFactor);
412int intintIdentitySentinelPerfectHash_InitTable(intintHash_Table * table,
308 int intintIdentityPerfectHash_InitTable(intintHash_Table * table,
413309 va_list args);
414int intintIdentitySentinelPerfectHash_DestroyTable(intintHash_Table * table);
415char *intintIdentitySentinelPerfectHash_Report(intintHash_Table * table);
416int intintIdentitySentinelPerfectHash_EmptyTable(intintHash_Table * table);
417int intintIdentitySentinelPerfectHash_Query(intintHash_Table * table,
310 int intintIdentityPerfectHash_DestroyTable(intintHash_Table * table);
311 char *intintIdentityPerfectHash_Report(intintHash_Table * table);
312 int intintIdentityPerfectHash_EmptyTable(intintHash_Table * table);
313 int intintIdentityPerfectHash_Query(intintHash_Table * table,
418314 size_t numKeys, int *keys,
419315 int *valuesOutput);
420int intintIdentitySentinelPerfectHash_QuerySingle(intintHash_Table * table,
316 int intintIdentityPerfectHash_QuerySingle(intintHash_Table * table,
421317 int key, int *valueOutput);
422int intintIdentitySentinelPerfectHash_Insert(intintHash_Table * table,
318 int intintIdentityPerfectHash_Insert(intintHash_Table * table,
423319 size_t numEntries, int *keys,
424320 int *values);
425int intintIdentitySentinelPerfectHash_InsertSingle(intintHash_Table * table,
321 int intintIdentityPerfectHash_InsertSingle(intintHash_Table * table,
426322 int key, int value);
427int intintIdentitySentinelPerfectHash_InsertNoOverwrite(intintHash_Table *
323 int intintIdentityPerfectHash_InsertNoOverwrite(intintHash_Table *
428324 table,
429325 size_t numEntries,
430326 int *keys, int *values);
431int intintIdentitySentinelPerfectHash_InsertSingleNoOverwrite(intintHash_Table *
327 int intintIdentityPerfectHash_InsertSingleNoOverwrite(intintHash_Table *
432328 table, int key,
433329 int value);
434int intintIdentitySentinelPerfectCLHash_CreateFactory(intintHash_Factory *
330 int intintIdentityPerfectCLHash_CreateFactory(intintHash_Factory *
435331 factory, int hashIndex);
436int intintIdentitySentinelPerfectCLHash_DestroyFactory(intintHash_Factory *
332 int intintIdentityPerfectCLHash_DestroyFactory(intintHash_Factory *
437333 factory, int hashIndex);
438intintHash_Table
439 *intintIdentitySentinelPerfectCLHash_CreateTable(intintHash_Factory *
334 intintHash_Table
335 *intintIdentityPerfectCLHash_CreateTable(intintHash_Factory *
440336 factory, int hashIndex,
441337 size_t keyRange,
442338 size_t numEntries,
443339 float loadFactor);
444int intintIdentitySentinelPerfectCLHash_InitTable(intintHash_Table * table,
340 int intintIdentityPerfectCLHash_InitTable(intintHash_Table * table,
445341 va_list args);
446int intintIdentitySentinelPerfectCLHash_DestroyTable(intintHash_Table * table);
447char *intintIdentitySentinelPerfectCLHash_Report(intintHash_Table * table);
448int intintIdentitySentinelPerfectCLHash_EmptyTable(intintHash_Table * table);
449int intintIdentitySentinelPerfectCLHash_Query(intintHash_Table * table,
342 int intintIdentityPerfectCLHash_DestroyTable(intintHash_Table * table);
343 char *intintIdentityPerfectCLHash_Report(intintHash_Table * table);
344 int intintIdentityPerfectCLHash_EmptyTable(intintHash_Table * table);
345 int intintIdentityPerfectCLHash_Query(intintHash_Table * table,
450346 size_t numKeys, int *keys,
451347 int *valuesOutput);
452int intintIdentitySentinelPerfectCLHash_QuerySingle(intintHash_Table * table,
348 int intintIdentityPerfectCLHash_QuerySingle(intintHash_Table * table,
453349 int key, int *valueOutput);
454int intintIdentitySentinelPerfectCLHash_Insert(intintHash_Table * table,
350 int intintIdentityPerfectCLHash_Insert(intintHash_Table * table,
455351 size_t numEntries, int *keys,
456352 int *values);
457int intintIdentitySentinelPerfectCLHash_InsertSingle(intintHash_Table * table,
353 int intintIdentityPerfectCLHash_InsertSingle(intintHash_Table * table,
458354 int key, int value);
459int intintIdentitySentinelPerfectCLHash_InsertNoOverwrite(intintHash_Table *
355 int intintIdentityPerfectCLHash_InsertNoOverwrite(intintHash_Table *
460356 table,
461357 size_t numEntries,
462358 int *keys,
463359 int *values);
464int intintIdentitySentinelPerfectCLHash_InsertSingleNoOverwrite(intintHash_Table
360 int intintIdentityPerfectCLHash_InsertSingleNoOverwrite(intintHash_Table
465361 * table,
466362 int key,
467363 int value);
468int intintIdentitySentinelPerfectCLHash_BufferQuery(intintHash_Table * table,
364 int intintIdentityPerfectCLHash_BufferQuery(intintHash_Table * table,
469365 size_t numKeys,
470366 cl_mem keysBuffer,
471367 cl_mem valuesOutputBuffer);
472int intintIdentitySentinelPerfectCLHash_BufferInsert(intintHash_Table * table,
368 int intintIdentityPerfectCLHash_BufferInsert(intintHash_Table * table,
473369 size_t numEntries,
474370 cl_mem keysBuffer,
475371 cl_mem valuesBuffer);
476int intintIdentitySentinelPerfectCLHash_BufferInsertNoOverwrite(intintHash_Table
372 int intintIdentityPerfectCLHash_BufferInsertNoOverwrite(intintHash_Table
477373 * table,
478374 size_t
479375 numEntries,
……@@ -481,333 +377,488 @@ int intintIdentitySentinelPerfectCLHash_BufferInsertNoOverwrite(intintHash_Table
481377 keysBuffer,
482378 cl_mem
483379 valuesBuffer);
484int intintIdentitySentinelPerfectOpenMPHash_CreateFactory(intintHash_Factory *
380 int intintIdentityPerfectOpenMPHash_CreateFactory(intintHash_Factory *
485381 factory,
486382 int hashIndex);
487int intintIdentitySentinelPerfectOpenMPHash_DestroyFactory(intintHash_Factory *
383 int intintIdentityPerfectOpenMPHash_DestroyFactory(intintHash_Factory *
488384 factory,
489385 int hashIndex);
490intintHash_Table
491 *intintIdentitySentinelPerfectOpenMPHash_CreateTable(intintHash_Factory *
386 intintHash_Table
387 *intintIdentityPerfectOpenMPHash_CreateTable(intintHash_Factory *
492388 factory, int hashIndex,
493389 size_t keyRange,
494390 size_t numEntries,
495391 float loadFactor);
496int intintIdentitySentinelPerfectOpenMPHash_InitTable(intintHash_Table * table,
392 int intintIdentityPerfectOpenMPHash_InitTable(intintHash_Table * table,
497393 va_list args);
498int intintIdentitySentinelPerfectOpenMPHash_DestroyTable(intintHash_Table *
394 int intintIdentityPerfectOpenMPHash_DestroyTable(intintHash_Table *
499395 table);
500char *intintIdentitySentinelPerfectOpenMPHash_Report(intintHash_Table * table);
501int intintIdentitySentinelPerfectOpenMPHash_EmptyTable(intintHash_Table *
396 char *intintIdentityPerfectOpenMPHash_Report(intintHash_Table * table);
397 int intintIdentityPerfectOpenMPHash_EmptyTable(intintHash_Table *
502398 table);
503int intintIdentitySentinelPerfectOpenMPHash_Query(intintHash_Table * table,
399 int intintIdentityPerfectOpenMPHash_Query(intintHash_Table * table,
504400 size_t numKeys, int *keys,
505401 int *valuesOutput);
506int intintIdentitySentinelPerfectOpenMPHash_QuerySingle(intintHash_Table *
402 int intintIdentityPerfectOpenMPHash_QuerySingle(intintHash_Table *
507403 table, int key,
508404 int *valueOutput);
509int intintIdentitySentinelPerfectOpenMPHash_Insert(intintHash_Table * table,
405 int intintIdentityPerfectOpenMPHash_Insert(intintHash_Table * table,
510406 size_t numEntries, int *keys,
511407 int *values);
512int intintIdentitySentinelPerfectOpenMPHash_InsertSingle(intintHash_Table *
408 int intintIdentityPerfectOpenMPHash_InsertSingle(intintHash_Table *
513409 table, int key,
514410 int value);
515int intintIdentitySentinelPerfectOpenMPHash_InsertNoOverwrite(intintHash_Table *
411 int intintIdentityPerfectOpenMPHash_InsertNoOverwrite(intintHash_Table *
516412 table,
517413 size_t numEntries,
518414 int *keys,
519415 int *values);
520int
521intintIdentitySentinelPerfectOpenMPHash_InsertSingleNoOverwrite(intintHash_Table
522 * table,
523 int key,
524 int value);
525int intintIdentitySentinelPerfectOpenMPHash_BufferQuery(intintHash_Table *
416 int intintIdentityPerfectOpenMPHash_InsertSingleNoOverwrite
417 (intintHash_Table * table, int key, int value);
418 int intintIdentityPerfectOpenMPHash_BufferQuery(intintHash_Table *
526419 table, size_t numKeys,
527420 cl_mem keysBuffer,
528421 cl_mem
529422 valuesOutputBuffer);
530int intintIdentitySentinelPerfectOpenMPHash_BufferInsert(intintHash_Table *
423 int intintIdentityPerfectOpenMPHash_BufferInsert(intintHash_Table *
531424 table,
532425 size_t numEntries,
533426 cl_mem keysBuffer,
534427 cl_mem valuesBuffer);
535int
536intintIdentitySentinelPerfectOpenMPHash_BufferInsertNoOverwrite(intintHash_Table
428 int intintIdentityPerfectOpenMPHash_BufferInsertNoOverwrite
429 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
430 cl_mem valuesBuffer);
431 int intintIdentitySentinelPerfectHash_CreateFactory(intintHash_Factory *
432 factory,
433 int hashIndex);
434 int intintIdentitySentinelPerfectHash_DestroyFactory(intintHash_Factory
435 * factory,
436 int hashIndex);
437 intintHash_Table
438 *intintIdentitySentinelPerfectHash_CreateTable(intintHash_Factory *
439 factory,
440 int hashIndex,
441 size_t keyRange,
442 size_t numEntries,
443 float loadFactor);
444 int intintIdentitySentinelPerfectHash_InitTable(intintHash_Table *
445 table, va_list args);
446 int intintIdentitySentinelPerfectHash_DestroyTable(intintHash_Table *
447 table);
448 char *intintIdentitySentinelPerfectHash_Report(intintHash_Table *
449 table);
450 int intintIdentitySentinelPerfectHash_EmptyTable(intintHash_Table *
451 table);
452 int intintIdentitySentinelPerfectHash_Query(intintHash_Table * table,
453 size_t numKeys, int *keys,
454 int *valuesOutput);
455 int intintIdentitySentinelPerfectHash_QuerySingle(intintHash_Table *
456 table, int key,
457 int *valueOutput);
458 int intintIdentitySentinelPerfectHash_Insert(intintHash_Table * table,
459 size_t numEntries,
460 int *keys, int *values);
461 int intintIdentitySentinelPerfectHash_InsertSingle(intintHash_Table *
462 table, int key,
463 int value);
464 int intintIdentitySentinelPerfectHash_InsertNoOverwrite(intintHash_Table
537465 * table,
538466 size_t
539467 numEntries,
540 cl_mem
541 keysBuffer,
542 cl_mem
543 valuesBuffer);
544int intintLCGLinearOpenCompactHash_CreateFactory(intintHash_Factory * factory,
545 int hashIndex);
546int intintLCGLinearOpenCompactHash_DestroyFactory(intintHash_Factory * factory,
547 int hashIndex);
548intintHash_Table *intintLCGLinearOpenCompactHash_CreateTable(intintHash_Factory
468 int *keys,
469 int *values);
470 int intintIdentitySentinelPerfectHash_InsertSingleNoOverwrite
471 (intintHash_Table * table, int key, int value);
472 int intintIdentitySentinelPerfectCLHash_CreateFactory(intintHash_Factory
473 * factory,
474 int hashIndex);
475 int intintIdentitySentinelPerfectCLHash_DestroyFactory
476 (intintHash_Factory * factory, int hashIndex);
477 intintHash_Table
478 *intintIdentitySentinelPerfectCLHash_CreateTable(intintHash_Factory
549479 * factory,
550480 int hashIndex,
551481 size_t keyRange,
552482 size_t numEntries,
553483 float loadFactor);
554int intintLCGLinearOpenCompactHash_InitTable(intintHash_Table * table,
555 va_list args);
556int intintLCGLinearOpenCompactHash_DestroyTable(intintHash_Table * table);
557char *intintLCGLinearOpenCompactHash_Report(intintHash_Table * table);
558int intintLCGLinearOpenCompactHash_EmptyTable(intintHash_Table * table);
559int intintLCGLinearOpenCompactHash_Query(intintHash_Table * table,
560 size_t numKeys, int *keys,
561 int *valuesOutput);
562int intintLCGLinearOpenCompactHash_QuerySingle(intintHash_Table * table,
563 int key, int *valueOutput);
564int intintLCGLinearOpenCompactHash_Insert(intintHash_Table * table,
565 size_t numEntries, int *keys,
566 int *values);
567int intintLCGLinearOpenCompactHash_InsertSingle(intintHash_Table * table,
568 int key, int value);
569int intintLCGLinearOpenCompactHash_InsertNoOverwrite(intintHash_Table * table,
570 size_t numEntries,
571 int *keys, int *values);
572int intintLCGLinearOpenCompactHash_InsertSingleNoOverwrite(intintHash_Table *
573 table, int key,
574 int value);
575int intintLCGLinearOpenCompactCLHash_CreateFactory(intintHash_Factory * factory,
576 int hashIndex);
577int intintLCGLinearOpenCompactCLHash_DestroyFactory(intintHash_Factory *
578 factory, int hashIndex);
579intintHash_Table
580 *intintLCGLinearOpenCompactCLHash_CreateTable(intintHash_Factory * factory,
581 int hashIndex,
582 size_t keyRange,
583 size_t numEntries,
584 float loadFactor);
585int intintLCGLinearOpenCompactCLHash_InitTable(intintHash_Table * table,
586 va_list args);
587int intintLCGLinearOpenCompactCLHash_DestroyTable(intintHash_Table * table);
588char *intintLCGLinearOpenCompactCLHash_Report(intintHash_Table * table);
589int intintLCGLinearOpenCompactCLHash_EmptyTable(intintHash_Table * table);
590int intintLCGLinearOpenCompactCLHash_Query(intintHash_Table * table,
591 size_t numKeys, int *keys,
592 int *valuesOutput);
593int intintLCGLinearOpenCompactCLHash_QuerySingle(intintHash_Table * table,
594 int key, int *valueOutput);
595int intintLCGLinearOpenCompactCLHash_Insert(intintHash_Table * table,
596 size_t numEntries, int *keys,
597 int *values);
598int intintLCGLinearOpenCompactCLHash_InsertSingle(intintHash_Table * table,
599 int key, int value);
600int intintLCGLinearOpenCompactCLHash_InsertNoOverwrite(intintHash_Table * table,
484 int intintIdentitySentinelPerfectCLHash_InitTable(intintHash_Table *
485 table, va_list args);
486 int intintIdentitySentinelPerfectCLHash_DestroyTable(intintHash_Table *
487 table);
488 char *intintIdentitySentinelPerfectCLHash_Report(intintHash_Table *
489 table);
490 int intintIdentitySentinelPerfectCLHash_EmptyTable(intintHash_Table *
491 table);
492 int intintIdentitySentinelPerfectCLHash_Query(intintHash_Table * table,
493 size_t numKeys, int *keys,
494 int *valuesOutput);
495 int intintIdentitySentinelPerfectCLHash_QuerySingle(intintHash_Table *
496 table, int key,
497 int *valueOutput);
498 int intintIdentitySentinelPerfectCLHash_Insert(intintHash_Table * table,
601499 size_t numEntries,
602500 int *keys, int *values);
603int intintLCGLinearOpenCompactCLHash_InsertSingleNoOverwrite(intintHash_Table *
501 int intintIdentitySentinelPerfectCLHash_InsertSingle(intintHash_Table *
604502 table, int key,
605503 int value);
606int intintLCGLinearOpenCompactCLHash_BufferQuery(intintHash_Table * table,
607 size_t numKeys,
608 cl_mem keysBuffer,
609 cl_mem valuesOutputBuffer);
610int intintLCGLinearOpenCompactCLHash_BufferInsert(intintHash_Table * table,
611 size_t numEntries,
612 cl_mem keysBuffer,
613 cl_mem valuesBuffer);
614int intintLCGLinearOpenCompactCLHash_BufferInsertNoOverwrite(intintHash_Table *
504 int intintIdentitySentinelPerfectCLHash_InsertNoOverwrite
505 (intintHash_Table * table, size_t numEntries, int *keys,
506 int *values);
507 int intintIdentitySentinelPerfectCLHash_InsertSingleNoOverwrite
508 (intintHash_Table * table, int key, int value);
509 int intintIdentitySentinelPerfectCLHash_BufferQuery(intintHash_Table *
510 table,
511 size_t numKeys,
512 cl_mem keysBuffer,
513 cl_mem
514 valuesOutputBuffer);
515 int intintIdentitySentinelPerfectCLHash_BufferInsert(intintHash_Table *
615516 table,
616517 size_t numEntries,
617518 cl_mem keysBuffer,
618519 cl_mem
619520 valuesBuffer);
620int intintLCGLinearOpenCompactOpenMPHash_CreateFactory(intintHash_Factory *
621 factory, int hashIndex);
622int intintLCGLinearOpenCompactOpenMPHash_DestroyFactory(intintHash_Factory *
623 factory, int hashIndex);
624intintHash_Table
625 *intintLCGLinearOpenCompactOpenMPHash_CreateTable(intintHash_Factory *
626 factory, int hashIndex,
627 size_t keyRange,
628 size_t numEntries,
629 float loadFactor);
630int intintLCGLinearOpenCompactOpenMPHash_InitTable(intintHash_Table * table,
631 va_list args);
632int intintLCGLinearOpenCompactOpenMPHash_DestroyTable(intintHash_Table * table);
633char *intintLCGLinearOpenCompactOpenMPHash_Report(intintHash_Table * table);
634int intintLCGLinearOpenCompactOpenMPHash_EmptyTable(intintHash_Table * table);
635int intintLCGLinearOpenCompactOpenMPHash_Query(intintHash_Table * table,
636 size_t numKeys, int *keys,
637 int *valuesOutput);
638int intintLCGLinearOpenCompactOpenMPHash_QuerySingle(intintHash_Table * table,
639 int key, int *valueOutput);
640int intintLCGLinearOpenCompactOpenMPHash_Insert(intintHash_Table * table,
641 size_t numEntries, int *keys,
642 int *values);
643int intintLCGLinearOpenCompactOpenMPHash_InsertSingle(intintHash_Table * table,
644 int key, int value);
645int intintLCGLinearOpenCompactOpenMPHash_InsertNoOverwrite(intintHash_Table *
521 int intintIdentitySentinelPerfectCLHash_BufferInsertNoOverwrite
522 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
523 cl_mem valuesBuffer);
524 int intintIdentitySentinelPerfectOpenMPHash_CreateFactory
525 (intintHash_Factory * factory, int hashIndex);
526 int intintIdentitySentinelPerfectOpenMPHash_DestroyFactory
527 (intintHash_Factory * factory, int hashIndex);
528 intintHash_Table
529 *intintIdentitySentinelPerfectOpenMPHash_CreateTable
530 (intintHash_Factory * factory, int hashIndex, size_t keyRange,
531 size_t numEntries, float loadFactor);
532 int intintIdentitySentinelPerfectOpenMPHash_InitTable(intintHash_Table *
533 table,
534 va_list args);
535 int intintIdentitySentinelPerfectOpenMPHash_DestroyTable
536 (intintHash_Table * table);
537 char *intintIdentitySentinelPerfectOpenMPHash_Report(intintHash_Table *
538 table);
539 int intintIdentitySentinelPerfectOpenMPHash_EmptyTable(intintHash_Table
540 * table);
541 int intintIdentitySentinelPerfectOpenMPHash_Query(intintHash_Table *
542 table, size_t numKeys,
543 int *keys,
544 int *valuesOutput);
545 int intintIdentitySentinelPerfectOpenMPHash_QuerySingle(intintHash_Table
546 * table,
547 int key,
548 int
549 *valueOutput);
550 int intintIdentitySentinelPerfectOpenMPHash_Insert(intintHash_Table *
646551 table,
647552 size_t numEntries,
648553 int *keys,
649554 int *values);
650int
651intintLCGLinearOpenCompactOpenMPHash_InsertSingleNoOverwrite(intintHash_Table *
652 table, int key,
653 int value);
654int intintLCGLinearOpenCompactOpenMPHash_BufferQuery(intintHash_Table * table,
655 size_t numKeys,
656 cl_mem keysBuffer,
657 cl_mem valuesOutputBuffer);
658int intintLCGLinearOpenCompactOpenMPHash_BufferInsert(intintHash_Table * table,
659 size_t numEntries,
660 cl_mem keysBuffer,
661 cl_mem valuesBuffer);
662int
663intintLCGLinearOpenCompactOpenMPHash_BufferInsertNoOverwrite(intintHash_Table *
555 int intintIdentitySentinelPerfectOpenMPHash_InsertSingle
556 (intintHash_Table * table, int key, int value);
557 int intintIdentitySentinelPerfectOpenMPHash_InsertNoOverwrite
558 (intintHash_Table * table, size_t numEntries, int *keys,
559 int *values);
560 int intintIdentitySentinelPerfectOpenMPHash_InsertSingleNoOverwrite
561 (intintHash_Table * table, int key, int value);
562 int intintIdentitySentinelPerfectOpenMPHash_BufferQuery(intintHash_Table
563 * table,
564 size_t numKeys,
565 cl_mem
566 keysBuffer,
567 cl_mem
568 valuesOutputBuffer);
569 int intintIdentitySentinelPerfectOpenMPHash_BufferInsert
570 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
571 cl_mem valuesBuffer);
572 int intintIdentitySentinelPerfectOpenMPHash_BufferInsertNoOverwrite
573 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
574 cl_mem valuesBuffer);
575 int intintLCGLinearOpenCompactHash_CreateFactory(intintHash_Factory *
576 factory,
577 int hashIndex);
578 int intintLCGLinearOpenCompactHash_DestroyFactory(intintHash_Factory *
579 factory,
580 int hashIndex);
581 intintHash_Table
582 *intintLCGLinearOpenCompactHash_CreateTable(intintHash_Factory *
583 factory, int hashIndex,
584 size_t keyRange,
585 size_t numEntries,
586 float loadFactor);
587 int intintLCGLinearOpenCompactHash_InitTable(intintHash_Table * table,
588 va_list args);
589 int intintLCGLinearOpenCompactHash_DestroyTable(intintHash_Table *
590 table);
591 char *intintLCGLinearOpenCompactHash_Report(intintHash_Table * table);
592 int intintLCGLinearOpenCompactHash_EmptyTable(intintHash_Table * table);
593 int intintLCGLinearOpenCompactHash_Query(intintHash_Table * table,
594 size_t numKeys, int *keys,
595 int *valuesOutput);
596 int intintLCGLinearOpenCompactHash_QuerySingle(intintHash_Table * table,
597 int key,
598 int *valueOutput);
599 int intintLCGLinearOpenCompactHash_Insert(intintHash_Table * table,
600 size_t numEntries, int *keys,
601 int *values);
602 int intintLCGLinearOpenCompactHash_InsertSingle(intintHash_Table *
603 table, int key,
604 int value);
605 int intintLCGLinearOpenCompactHash_InsertNoOverwrite(intintHash_Table *
664606 table,
665607 size_t numEntries,
666 cl_mem keysBuffer,
667 cl_mem
668 valuesBuffer);
669int intintLCGQuadraticOpenCompactHash_CreateFactory(intintHash_Factory *
670 factory, int hashIndex);
671int intintLCGQuadraticOpenCompactHash_DestroyFactory(intintHash_Factory *
672 factory, int hashIndex);
673intintHash_Table
674 *intintLCGQuadraticOpenCompactHash_CreateTable(intintHash_Factory * factory,
675 int hashIndex,
676 size_t keyRange,
677 size_t numEntries,
678 float loadFactor);
679int intintLCGQuadraticOpenCompactHash_InitTable(intintHash_Table * table,
680 va_list args);
681int intintLCGQuadraticOpenCompactHash_DestroyTable(intintHash_Table * table);
682char *intintLCGQuadraticOpenCompactHash_Report(intintHash_Table * table);
683int intintLCGQuadraticOpenCompactHash_EmptyTable(intintHash_Table * table);
684int intintLCGQuadraticOpenCompactHash_Query(intintHash_Table * table,
685 size_t numKeys, int *keys,
686 int *valuesOutput);
687int intintLCGQuadraticOpenCompactHash_QuerySingle(intintHash_Table * table,
688 int key, int *valueOutput);
689int intintLCGQuadraticOpenCompactHash_Insert(intintHash_Table * table,
690 size_t numEntries, int *keys,
691 int *values);
692int intintLCGQuadraticOpenCompactHash_InsertSingle(intintHash_Table * table,
693 int key, int value);
694int intintLCGQuadraticOpenCompactHash_InsertNoOverwrite(intintHash_Table *
608 int *keys,
609 int *values);
610 int intintLCGLinearOpenCompactHash_InsertSingleNoOverwrite
611 (intintHash_Table * table, int key, int value);
612 int intintLCGLinearOpenCompactCLHash_CreateFactory(intintHash_Factory *
613 factory,
614 int hashIndex);
615 int intintLCGLinearOpenCompactCLHash_DestroyFactory(intintHash_Factory *
616 factory,
617 int hashIndex);
618 intintHash_Table
619 *intintLCGLinearOpenCompactCLHash_CreateTable(intintHash_Factory *
620 factory,
621 int hashIndex,
622 size_t keyRange,
623 size_t numEntries,
624 float loadFactor);
625 int intintLCGLinearOpenCompactCLHash_InitTable(intintHash_Table * table,
626 va_list args);
627 int intintLCGLinearOpenCompactCLHash_DestroyTable(intintHash_Table *
628 table);
629 char *intintLCGLinearOpenCompactCLHash_Report(intintHash_Table * table);
630 int intintLCGLinearOpenCompactCLHash_EmptyTable(intintHash_Table *
631 table);
632 int intintLCGLinearOpenCompactCLHash_Query(intintHash_Table * table,
633 size_t numKeys, int *keys,
634 int *valuesOutput);
635 int intintLCGLinearOpenCompactCLHash_QuerySingle(intintHash_Table *
636 table, int key,
637 int *valueOutput);
638 int intintLCGLinearOpenCompactCLHash_Insert(intintHash_Table * table,
639 size_t numEntries,
640 int *keys, int *values);
641 int intintLCGLinearOpenCompactCLHash_InsertSingle(intintHash_Table *
642 table, int key,
643 int value);
644 int intintLCGLinearOpenCompactCLHash_InsertNoOverwrite(intintHash_Table
645 * table,
646 size_t
647 numEntries,
648 int *keys,
649 int *values);
650 int intintLCGLinearOpenCompactCLHash_InsertSingleNoOverwrite
651 (intintHash_Table * table, int key, int value);
652 int intintLCGLinearOpenCompactCLHash_BufferQuery(intintHash_Table *
653 table, size_t numKeys,
654 cl_mem keysBuffer,
655 cl_mem
656 valuesOutputBuffer);
657 int intintLCGLinearOpenCompactCLHash_BufferInsert(intintHash_Table *
658 table,
659 size_t numEntries,
660 cl_mem keysBuffer,
661 cl_mem valuesBuffer);
662 int intintLCGLinearOpenCompactCLHash_BufferInsertNoOverwrite
663 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
664 cl_mem valuesBuffer);
665 int intintLCGLinearOpenCompactOpenMPHash_CreateFactory
666 (intintHash_Factory * factory, int hashIndex);
667 int intintLCGLinearOpenCompactOpenMPHash_DestroyFactory
668 (intintHash_Factory * factory, int hashIndex);
669 intintHash_Table
670 *intintLCGLinearOpenCompactOpenMPHash_CreateTable(intintHash_Factory
671 * factory,
672 int hashIndex,
673 size_t keyRange,
674 size_t numEntries,
675 float loadFactor);
676 int intintLCGLinearOpenCompactOpenMPHash_InitTable(intintHash_Table *
677 table, va_list args);
678 int intintLCGLinearOpenCompactOpenMPHash_DestroyTable(intintHash_Table *
679 table);
680 char *intintLCGLinearOpenCompactOpenMPHash_Report(intintHash_Table *
681 table);
682 int intintLCGLinearOpenCompactOpenMPHash_EmptyTable(intintHash_Table *
683 table);
684 int intintLCGLinearOpenCompactOpenMPHash_Query(intintHash_Table * table,
685 size_t numKeys,
686 int *keys,
687 int *valuesOutput);
688 int intintLCGLinearOpenCompactOpenMPHash_QuerySingle(intintHash_Table *
689 table, int key,
690 int *valueOutput);
691 int intintLCGLinearOpenCompactOpenMPHash_Insert(intintHash_Table *
695692 table,
696693 size_t numEntries,
697694 int *keys, int *values);
698int intintLCGQuadraticOpenCompactHash_InsertSingleNoOverwrite(intintHash_Table *
695 int intintLCGLinearOpenCompactOpenMPHash_InsertSingle(intintHash_Table *
699696 table, int key,
700697 int value);
701int intintLCGQuadraticOpenCompactCLHash_CreateFactory(intintHash_Factory *
702 factory, int hashIndex);
703int intintLCGQuadraticOpenCompactCLHash_DestroyFactory(intintHash_Factory *
704 factory, int hashIndex);
705intintHash_Table
706 *intintLCGQuadraticOpenCompactCLHash_CreateTable(intintHash_Factory *
707 factory, int hashIndex,
708 size_t keyRange,
709 size_t numEntries,
710 float loadFactor);
711int intintLCGQuadraticOpenCompactCLHash_InitTable(intintHash_Table * table,
712 va_list args);
713int intintLCGQuadraticOpenCompactCLHash_DestroyTable(intintHash_Table * table);
714char *intintLCGQuadraticOpenCompactCLHash_Report(intintHash_Table * table);
715int intintLCGQuadraticOpenCompactCLHash_EmptyTable(intintHash_Table * table);
716int intintLCGQuadraticOpenCompactCLHash_Query(intintHash_Table * table,
717 size_t numKeys, int *keys,
718 int *valuesOutput);
719int intintLCGQuadraticOpenCompactCLHash_QuerySingle(intintHash_Table * table,
720 int key, int *valueOutput);
721int intintLCGQuadraticOpenCompactCLHash_Insert(intintHash_Table * table,
722 size_t numEntries, int *keys,
723 int *values);
724int intintLCGQuadraticOpenCompactCLHash_InsertSingle(intintHash_Table * table,
725 int key, int value);
726int intintLCGQuadraticOpenCompactCLHash_InsertNoOverwrite(intintHash_Table *
727 table,
728 size_t numEntries,
729 int *keys,
730 int *values);
731int intintLCGQuadraticOpenCompactCLHash_InsertSingleNoOverwrite(intintHash_Table
732 * table,
733 int key,
734 int value);
735int intintLCGQuadraticOpenCompactCLHash_BufferQuery(intintHash_Table * table,
736 size_t numKeys,
737 cl_mem keysBuffer,
738 cl_mem valuesOutputBuffer);
739int intintLCGQuadraticOpenCompactCLHash_BufferInsert(intintHash_Table * table,
698 int intintLCGLinearOpenCompactOpenMPHash_InsertNoOverwrite
699 (intintHash_Table * table, size_t numEntries, int *keys,
700 int *values);
701 int intintLCGLinearOpenCompactOpenMPHash_InsertSingleNoOverwrite
702 (intintHash_Table * table, int key, int value);
703 int intintLCGLinearOpenCompactOpenMPHash_BufferQuery(intintHash_Table *
704 table,
705 size_t numKeys,
706 cl_mem keysBuffer,
707 cl_mem
708 valuesOutputBuffer);
709 int intintLCGLinearOpenCompactOpenMPHash_BufferInsert(intintHash_Table *
710 table,
711 size_t numEntries,
712 cl_mem keysBuffer,
713 cl_mem
714 valuesBuffer);
715 int intintLCGLinearOpenCompactOpenMPHash_BufferInsertNoOverwrite
716 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
717 cl_mem valuesBuffer);
718 int intintLCGQuadraticOpenCompactHash_CreateFactory(intintHash_Factory *
719 factory,
720 int hashIndex);
721 int intintLCGQuadraticOpenCompactHash_DestroyFactory(intintHash_Factory
722 * factory,
723 int hashIndex);
724 intintHash_Table
725 *intintLCGQuadraticOpenCompactHash_CreateTable(intintHash_Factory *
726 factory,
727 int hashIndex,
728 size_t keyRange,
729 size_t numEntries,
730 float loadFactor);
731 int intintLCGQuadraticOpenCompactHash_InitTable(intintHash_Table *
732 table, va_list args);
733 int intintLCGQuadraticOpenCompactHash_DestroyTable(intintHash_Table *
734 table);
735 char *intintLCGQuadraticOpenCompactHash_Report(intintHash_Table *
736 table);
737 int intintLCGQuadraticOpenCompactHash_EmptyTable(intintHash_Table *
738 table);
739 int intintLCGQuadraticOpenCompactHash_Query(intintHash_Table * table,
740 size_t numKeys, int *keys,
741 int *valuesOutput);
742 int intintLCGQuadraticOpenCompactHash_QuerySingle(intintHash_Table *
743 table, int key,
744 int *valueOutput);
745 int intintLCGQuadraticOpenCompactHash_Insert(intintHash_Table * table,
740746 size_t numEntries,
741 cl_mem keysBuffer,
742 cl_mem valuesBuffer);
743int intintLCGQuadraticOpenCompactCLHash_BufferInsertNoOverwrite(intintHash_Table
747 int *keys, int *values);
748 int intintLCGQuadraticOpenCompactHash_InsertSingle(intintHash_Table *
749 table, int key,
750 int value);
751 int intintLCGQuadraticOpenCompactHash_InsertNoOverwrite(intintHash_Table
744752 * table,
745753 size_t
746754 numEntries,
747 cl_mem
748 keysBuffer,
749 cl_mem
750 valuesBuffer);
751int intintLCGQuadraticOpenCompactOpenMPHash_CreateFactory(intintHash_Factory *
752 factory,
753 int hashIndex);
754int intintLCGQuadraticOpenCompactOpenMPHash_DestroyFactory(intintHash_Factory *
755 factory,
756 int hashIndex);
757intintHash_Table
758 *intintLCGQuadraticOpenCompactOpenMPHash_CreateTable(intintHash_Factory *
759 factory, int hashIndex,
760 size_t keyRange,
761 size_t numEntries,
762 float loadFactor);
763int intintLCGQuadraticOpenCompactOpenMPHash_InitTable(intintHash_Table * table,
764 va_list args);
765int intintLCGQuadraticOpenCompactOpenMPHash_DestroyTable(intintHash_Table *
755 int *keys,
756 int *values);
757 int intintLCGQuadraticOpenCompactHash_InsertSingleNoOverwrite
758 (intintHash_Table * table, int key, int value);
759 int intintLCGQuadraticOpenCompactCLHash_CreateFactory(intintHash_Factory
760 * factory,
761 int hashIndex);
762 int intintLCGQuadraticOpenCompactCLHash_DestroyFactory
763 (intintHash_Factory * factory, int hashIndex);
764 intintHash_Table
765 *intintLCGQuadraticOpenCompactCLHash_CreateTable(intintHash_Factory
766 * factory,
767 int hashIndex,
768 size_t keyRange,
769 size_t numEntries,
770 float loadFactor);
771 int intintLCGQuadraticOpenCompactCLHash_InitTable(intintHash_Table *
772 table, va_list args);
773 int intintLCGQuadraticOpenCompactCLHash_DestroyTable(intintHash_Table *
774 table);
775 char *intintLCGQuadraticOpenCompactCLHash_Report(intintHash_Table *
766776 table);
767char *intintLCGQuadraticOpenCompactOpenMPHash_Report(intintHash_Table * table);
768int intintLCGQuadraticOpenCompactOpenMPHash_EmptyTable(intintHash_Table *
769 table);
770int intintLCGQuadraticOpenCompactOpenMPHash_Query(intintHash_Table * table,
771 size_t numKeys, int *keys,
772 int *valuesOutput);
773int intintLCGQuadraticOpenCompactOpenMPHash_QuerySingle(intintHash_Table *
774 table, int key,
775 int *valueOutput);
776int intintLCGQuadraticOpenCompactOpenMPHash_Insert(intintHash_Table * table,
777 size_t numEntries, int *keys,
778 int *values);
779int intintLCGQuadraticOpenCompactOpenMPHash_InsertSingle(intintHash_Table *
780 table, int key,
781 int value);
782int intintLCGQuadraticOpenCompactOpenMPHash_InsertNoOverwrite(intintHash_Table *
777 int intintLCGQuadraticOpenCompactCLHash_EmptyTable(intintHash_Table *
778 table);
779 int intintLCGQuadraticOpenCompactCLHash_Query(intintHash_Table * table,
780 size_t numKeys, int *keys,
781 int *valuesOutput);
782 int intintLCGQuadraticOpenCompactCLHash_QuerySingle(intintHash_Table *
783 table, int key,
784 int *valueOutput);
785 int intintLCGQuadraticOpenCompactCLHash_Insert(intintHash_Table * table,
786 size_t numEntries,
787 int *keys, int *values);
788 int intintLCGQuadraticOpenCompactCLHash_InsertSingle(intintHash_Table *
789 table, int key,
790 int value);
791 int intintLCGQuadraticOpenCompactCLHash_InsertNoOverwrite
792 (intintHash_Table * table, size_t numEntries, int *keys,
793 int *values);
794 int intintLCGQuadraticOpenCompactCLHash_InsertSingleNoOverwrite
795 (intintHash_Table * table, int key, int value);
796 int intintLCGQuadraticOpenCompactCLHash_BufferQuery(intintHash_Table *
797 table,
798 size_t numKeys,
799 cl_mem keysBuffer,
800 cl_mem
801 valuesOutputBuffer);
802 int intintLCGQuadraticOpenCompactCLHash_BufferInsert(intintHash_Table *
803 table,
804 size_t numEntries,
805 cl_mem keysBuffer,
806 cl_mem
807 valuesBuffer);
808 int intintLCGQuadraticOpenCompactCLHash_BufferInsertNoOverwrite
809 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
810 cl_mem valuesBuffer);
811 int intintLCGQuadraticOpenCompactOpenMPHash_CreateFactory
812 (intintHash_Factory * factory, int hashIndex);
813 int intintLCGQuadraticOpenCompactOpenMPHash_DestroyFactory
814 (intintHash_Factory * factory, int hashIndex);
815 intintHash_Table
816 *intintLCGQuadraticOpenCompactOpenMPHash_CreateTable
817 (intintHash_Factory * factory, int hashIndex, size_t keyRange,
818 size_t numEntries, float loadFactor);
819 int intintLCGQuadraticOpenCompactOpenMPHash_InitTable(intintHash_Table *
783820 table,
784 size_t numEntries,
785 int *keys,
786 int *values);
787int
788intintLCGQuadraticOpenCompactOpenMPHash_InsertSingleNoOverwrite(intintHash_Table
821 va_list args);
822 int intintLCGQuadraticOpenCompactOpenMPHash_DestroyTable
823 (intintHash_Table * table);
824 char *intintLCGQuadraticOpenCompactOpenMPHash_Report(intintHash_Table *
825 table);
826 int intintLCGQuadraticOpenCompactOpenMPHash_EmptyTable(intintHash_Table
827 * table);
828 int intintLCGQuadraticOpenCompactOpenMPHash_Query(intintHash_Table *
829 table, size_t numKeys,
830 int *keys,
831 int *valuesOutput);
832 int intintLCGQuadraticOpenCompactOpenMPHash_QuerySingle(intintHash_Table
789833 * table,
790834 int key,
791 int value);
792int intintLCGQuadraticOpenCompactOpenMPHash_BufferQuery(intintHash_Table *
793 table, size_t numKeys,
794 cl_mem keysBuffer,
795 cl_mem
796 valuesOutputBuffer);
797int intintLCGQuadraticOpenCompactOpenMPHash_BufferInsert(intintHash_Table *
798 table,
799 size_t numEntries,
800 cl_mem keysBuffer,
801 cl_mem valuesBuffer);
802int
803intintLCGQuadraticOpenCompactOpenMPHash_BufferInsertNoOverwrite(intintHash_Table
835 int
836 *valueOutput);
837 int intintLCGQuadraticOpenCompactOpenMPHash_Insert(intintHash_Table *
838 table,
839 size_t numEntries,
840 int *keys,
841 int *values);
842 int intintLCGQuadraticOpenCompactOpenMPHash_InsertSingle
843 (intintHash_Table * table, int key, int value);
844 int intintLCGQuadraticOpenCompactOpenMPHash_InsertNoOverwrite
845 (intintHash_Table * table, size_t numEntries, int *keys,
846 int *values);
847 int intintLCGQuadraticOpenCompactOpenMPHash_InsertSingleNoOverwrite
848 (intintHash_Table * table, int key, int value);
849 int intintLCGQuadraticOpenCompactOpenMPHash_BufferQuery(intintHash_Table
804850 * table,
805 size_t
806 numEntries,
851 size_t numKeys,
807852 cl_mem
808853 keysBuffer,
809854 cl_mem
810 valuesBuffer);
855 valuesOutputBuffer);
856 int intintLCGQuadraticOpenCompactOpenMPHash_BufferInsert
857 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
858 cl_mem valuesBuffer);
859 int intintLCGQuadraticOpenCompactOpenMPHash_BufferInsertNoOverwrite
860 (intintHash_Table * table, size_t numEntries, cl_mem keysBuffer,
861 cl_mem valuesBuffer);
811862
812863#ifdef __cplusplus
813864}
HashFactory/HashFactory.hp +2 -2
……@@ -191,10 +191,10 @@ DELAY(#define HASH_BUCKET_STATUS_EMPTY /**/ -1)
191191DELAY(#define HASH_BUCKET_STATUS_FULL /***/ -2)
192192DELAY(#define HASH_BUCKET_STATUS_LOCK /***/ -3)
193193
194#ifdef __cplusplus
194DELAY(#ifdef __cplusplus)
195195extern "C"
196196{
197#endif
197DELAY(#endif)
198198
199199/**
200200 * Hash_ExitCodeString will return a string representation of the given exit