modified: makefile
[GalaxyCodeBases.git] / BGI / SOAPdenovo2 / standardPregraph / inc / fib.h
blob4c056579024f54d7244fa1b9d94b1446dabf1c2b
1 /*
2 * inc/fib.h
4 * This file is part of SOAPdenovo.
6 */
8 /*-
9 * Copyright 1997, 1998-2003 John-Mark Gurney.
10 * All rights reserved.
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in the
19 * documentation and/or other materials provided with the distribution.
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
35 #ifndef _FIB_H_
36 #define _FIB_H_
38 //#include "globals.h"
39 #include <stdio.h>
40 #include "def2.h"
42 typedef Coordinate ( *voidcmp ) ( unsigned int , unsigned int );
44 /* functions for key heaps */
45 boolean fh_isempty ( FibHeap * );
46 FibHeap * fh_makekeyheap ( void );
47 FibHeapNode * fh_insertkey ( FibHeap *, Coordinate, unsigned int );
48 Coordinate fh_minkey ( FibHeap * );
49 Coordinate fh_replacekey ( FibHeap *, FibHeapNode *, Coordinate );
50 unsigned int fh_replacekeydata ( FibHeap *, FibHeapNode *, Coordinate, unsigned int );
52 /* functions for unsigned int * heaps */
53 FibHeap * fh_makeheap ( void );
54 voidcmp fh_setcmp ( FibHeap *, voidcmp );
55 unsigned int fh_setneginf ( FibHeap *, unsigned int );
56 FibHeapNode * fh_insert ( FibHeap *, unsigned int );
58 /* shared functions */
59 unsigned int fh_extractmin ( FibHeap * );
60 unsigned int fh_min ( FibHeap * );
61 unsigned int fh_replacedata ( FibHeapNode *, unsigned int );
62 unsigned int fh_delete ( FibHeap *, FibHeapNode * );
63 void fh_deleteheap ( FibHeap * );
64 FibHeap * fh_union ( FibHeap *, FibHeap * );
66 #endif /* _FIB_H_ */