-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpsi_bucketed_intersection.h
executable file
·48 lines (41 loc) · 1.64 KB
/
psi_bucketed_intersection.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
* File: psi_bucketed_intersection.h
* Author: Oleksandr Tkachenko <oleksandr.tkachenko at crisp-da.de>
*
* Created on May 5, 2016, 12:53 AM
*/
#ifndef PSI_BUCKETED_INTERSECTION_H
#define PSI_BUCKETED_INTERSECTION_H
#include <stdio.h>
#include <inttypes.h>
#include <omp.h>
#include <math.h>
#include "psi_structures.h"
#include "psi_misc.h"
#include "psi_hashing.h"
#include "psi_simple_intersection.h"
#ifdef __cplusplus
extern "C" {
#endif
void psi_bucketed_intersection(PSI_INTERSECTION_CTX* ctx);
void psi_split_into_buckets(PSI_INTERSECTION_CTX* ctx);
void psi_split_single(gboolean a, PSI_INTERSECTION_CTX* ctx);
void psi_buckets_intersection(PSI_INTERSECTION_CTX* ctx);
void init_queues(PSI_INTERSECTION_CTX* ctx);
void add_elem_to_queue(gboolean a, PSI_INTERSECTION_CTX* ctx, uint8_t element[ctx->element_size], uint64_t n);
void save_queue(gboolean a, PSI_Queue * q, char* path, uint64_t n, uint8_t es);
void print_result(char* element, FILE*f);
void save_all_queues(PSI_INTERSECTION_CTX* ctx, gboolean a);
void psi_destroy_buckets(PSI_INTERSECTION_CTX* ctx);
void show_settings(PSI_INTERSECTION_CTX* ctx);
void psi_intersection_lookup(PSI_INTERSECTION_CTX* ctx);
void psi_intersection_lookup_nh(PSI_INTERSECTION_CTX* ctx);
void psi_intersection_lookup_ot(PSI_INTERSECTION_CTX* ctx);
GSList * psi_lookup_add_to_list(GSList * l, char * elem, uint8_t e_size);
void psi_write_and_show(char * elem, FILE * f);
GSList * g_slist_dump(GSList * l, FILE * f);
void psi_intersection_elem_dump(char * elem, FILE * f);
#ifdef __cplusplus
}
#endif
#endif /* PSI_BUCKETED_INTERSECTION_H */