annotate bwa-0.6.2/utils.h @ 2:a294fbfcb1db draft default tip

Uploaded BWA
author ashvark
date Fri, 18 Jul 2014 07:55:59 -0400
parents dd1186b11b3b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
1 /* The MIT License
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
2
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
3 Copyright (c) 2008 Genome Research Ltd (GRL).
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
4
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
5 Permission is hereby granted, free of charge, to any person obtaining
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
6 a copy of this software and associated documentation files (the
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
7 "Software"), to deal in the Software without restriction, including
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
8 without limitation the rights to use, copy, modify, merge, publish,
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
9 distribute, sublicense, and/or sell copies of the Software, and to
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
10 permit persons to whom the Software is furnished to do so, subject to
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
11 the following conditions:
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
12
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
13 The above copyright notice and this permission notice shall be
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
14 included in all copies or substantial portions of the Software.
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
15
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
17 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
18 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
19 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
20 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
21 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
22 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
23 SOFTWARE.
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
24 */
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
25
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
26 /* Contact: Heng Li <lh3@sanger.ac.uk> */
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
27
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
28 #ifndef LH3_UTILS_H
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
29 #define LH3_UTILS_H
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
30
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
31 #include <stdio.h>
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
32 #include <zlib.h>
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
33
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
34 #ifdef __GNUC__
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
35 // Tell GCC to validate printf format string and args
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
36 #define ATTRIBUTE(list) __attribute__ (list)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
37 #else
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
38 #define ATTRIBUTE(list)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
39 #endif
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
40
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
41
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
42
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
43 #define err_fatal_simple(msg) err_fatal_simple_core(__func__, msg)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
44 #define xopen(fn, mode) err_xopen_core(__func__, fn, mode)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
45 #define xreopen(fn, mode, fp) err_xreopen_core(__func__, fn, mode, fp)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
46 #define xzopen(fn, mode) err_xzopen_core(__func__, fn, mode)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
47 #define xassert(cond, msg) if ((cond) == 0) err_fatal_simple_core(__func__, msg)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
48
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
49 #ifdef __cplusplus
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
50 extern "C" {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
51 #endif
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
52
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
53 void err_fatal(const char *header, const char *fmt, ...);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
54 void err_fatal_simple_core(const char *func, const char *msg);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
55 FILE *err_xopen_core(const char *func, const char *fn, const char *mode);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
56 FILE *err_xreopen_core(const char *func, const char *fn, const char *mode, FILE *fp);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
57 gzFile err_xzopen_core(const char *func, const char *fn, const char *mode);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
58 size_t err_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
59 int err_fprintf(FILE *stream, const char *format, ...)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
60 ATTRIBUTE((format(printf, 2, 3)));
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
61 int err_printf(const char *format, ...)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
62 ATTRIBUTE((format(printf, 1, 2)));
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
63 int err_fflush(FILE *stream);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
64 int err_fclose(FILE *stream);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
65
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
66 double cputime();
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
67 double realtime();
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
68
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
69 #ifdef __cplusplus
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
70 }
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
71 #endif
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
72
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
73 #endif