-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhilbert.h
29 lines (23 loc) · 974 Bytes
/
hilbert.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
#ifndef HILBERT_H
#define HILBERT_H
typedef struct{
coord_t *x;
coord_t *y;
unsigned long long segment_length;
unsigned long long start;
unsigned long long end;
unsigned segment_coord;
}pthread_args;
void hilbert_V0(unsigned degree, coord_t* x, coord_t* y);
void hilbert_V1(unsigned degree, coord_t* x, coord_t* y);
void hilbert_V2(unsigned degree, coord_t* x, coord_t* y);
void hilbert_V3(unsigned degree, coord_t* x, coord_t* y, unsigned THREADS);
void hilbert(unsigned degree, coord_t* x, coord_t* y, unsigned THREADS);
void hilbert_V5(unsigned degree, coord_t* x, coord_t* y, unsigned THREADS);
void add_segments(unsigned degree, coord_t* x, coord_t* y);
void add_segments_simd(unsigned segment_degree, coord_t* x, coord_t* y);
void * add_segments_simd_multithreaded(void * args);
void * add_segments_multithreaded(void * args);
void v_assembly(unsigned degree, coord_t* x, coord_t* y);
void * v_assembly_multithreaded(void * args);
#endif