blob: 379793ae3cf5866f834ee2a5705381c78987780a [file] [log] [blame]
Michael Clarkf0d08882007-03-13 08:26:18 +00001/*
Michael Clarkf6a6e482007-03-13 08:26:23 +00002 * $Id: bits.h,v 1.9 2006/01/26 02:16:28 mclark Exp $
Michael Clarkf0d08882007-03-13 08:26:18 +00003 *
Michael Clarkf6a6e482007-03-13 08:26:23 +00004 * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.
Michael Clarkf0d08882007-03-13 08:26:18 +00005 * Michael Clark <michael@metaparadigm.com>
6 *
Michael Clarkf6a6e482007-03-13 08:26:23 +00007 * This library is free software; you can redistribute it and/or modify
8 * it under the terms of the MIT license. See COPYING for details.
Michael Clarkf0d08882007-03-13 08:26:18 +00009 *
10 */
11
12#ifndef _bits_h_
13#define _bits_h_
14
Michael Clark4504df72007-03-13 08:26:20 +000015#include "config.h"
16
17#if STDC_HEADERS
18# include <stddef.h>
19#endif /* STDC_HEADERS */
20
21/* CAW: wrapped in ifndef's to make win32 compliant
22** this fails to take over GCC specifics, but this
23** seems to be unimportant.
24 */
25
26#ifndef min
Michael Clarkf6a6e482007-03-13 08:26:23 +000027#define min(a,b) ((a) < (b) ? (a) : (b))
Michael Clark4504df72007-03-13 08:26:20 +000028#endif
Michael Clarkf0d08882007-03-13 08:26:18 +000029
Michael Clark4504df72007-03-13 08:26:20 +000030#ifndef max
Michael Clarkf6a6e482007-03-13 08:26:23 +000031#define max(a,b) ((a) > (b) ? (a) : (b))
Michael Clark4504df72007-03-13 08:26:20 +000032#endif
Michael Clarkf0d08882007-03-13 08:26:18 +000033
34#define hexdigit(x) (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9)
35#define error_ptr(error) ((void*)error)
Michael Clark7b899b62007-03-13 08:26:21 +000036#define is_error(ptr) ((unsigned long)ptr > (unsigned long)-4000L)
Michael Clarkf0d08882007-03-13 08:26:18 +000037
38#endif