]>
Commit | Line | Data |
---|---|---|
089d061f | 1 | #ifndef BUCKETSORT_H__ |
2 | #define BUCKETSORT_H__ | |
3 | #include <stdint.h> | |
4 | #include <stdbool.h> | |
5 | #include <stdlib.h> | |
6 | typedef struct bucket { | |
7 | uint32_t *head; | |
8 | uint32_t *bp; | |
9 | } bucket_t; | |
10 | ||
11 | typedef bucket_t bucket_array_t[2][0x100]; | |
12 | ||
13 | typedef struct bucket_info { | |
14 | struct { | |
15 | uint32_t *head, *tail; | |
16 | } bucket_info[2][0x100]; | |
17 | uint32_t numbuckets; | |
18 | } bucket_info_t; | |
19 | ||
20 | ||
21 | bool bucket_malloc(bucket_array_t bucket); | |
22 | void bucket_free(bucket_array_t bucket); | |
23 | void bucket_sort_intersect(uint32_t* const estart, uint32_t* const estop, | |
24 | uint32_t* const ostart, uint32_t* const ostop, | |
25 | bucket_info_t *bucket_info, bucket_array_t bucket); | |
26 | #endif |