1 //-----------------------------------------------------------------------------
2 // Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // See LICENSE.txt for the text of the license.
15 //-----------------------------------------------------------------------------
16 #ifndef BUCKETSORT_H__
17 #define BUCKETSORT_H__
21 typedef struct bucket
{
26 typedef bucket_t bucket_array_t
[2][0x100];
28 typedef struct bucket_info
{
30 uint32_t *head
, *tail
;
31 } bucket_info
[2][0x100];
35 void bucket_sort_intersect(uint32_t *const estart
, uint32_t *const estop
,
36 uint32_t *const ostart
, uint32_t *const ostop
,
37 bucket_info_t
*bucket_info
, bucket_array_t bucket
);