2 This file is part of the software library CADLIB written by Conrad Ziesler
3 Copyright 2003, Conrad Ziesler, all rights reserved.
5 *************************
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 /* mergedup.h : utility routine header for detecting multiple same entities in nlogn time
25 typedef struct sortlist_st
28 unsigned char sorted
[1];
32 typedef struct mergedup_st
41 unsigned char *freelist
;
45 void mergedup_setbit(mergedup_t
*m
, int index
);
46 int mergedup_testbit(mergedup_t
*m
, int index
);
47 mergedup_t
*mergedup_alloc(int q
, int qs
);
48 void mergedup_fill(mergedup_t
*m
, unsigned char *d
, int index
);
49 void mergedup_sort(mergedup_t
*m
);
50 int mergedup_visit(mergedup_t
*m
, int w
);
51 void mergedup_free(mergedup_t
*m
);