summaryrefslogtreecommitdiff
path: root/utils/hp2ps/Main.h
blob: 7a8626b375af8e6f4688cfd083d3bae484185297 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef MAIN_H
#define MAIN_H

#include "ghcconfig.h"
#include <stdio.h>

#ifdef __STDC__
#define PROTO(x)	x
#else
#define PROTO(x)	()
#endif

/* our own ASSERT macro (for C) */
#ifndef DEBUG
#define ASSERT(predicate) /*nothing*/

#else
void _ghcAssert PROTO((char *, unsigned int));

#define ASSERT(predicate)			\
	if (predicate)				\
	    /*null*/;				\
	else					\
	    _ghcAssert(__FILE__, __LINE__)
#endif

/* partain: some ubiquitous types: floatish & intish.
   Dubious to use float/int, but that is what it used to be...
   (WDP 95/03)   
*/
typedef double	floatish;
typedef double  doublish; /* higher precision, if anything; little used */
typedef int	boolish;

/* Use "long long" if we have it: the numbers in profiles can easily
 * overflow 32 bits after a few seconds execution.
 */
#ifdef HAVE_LONG_LONG
typedef long long int intish;
#else
typedef long int intish;
#endif

extern intish nsamples;
extern intish nmarks;
extern intish nidents;

extern floatish maxcombinedheight;
extern floatish areabelow;
extern floatish epsfwidth;

extern floatish xrange;
extern floatish yrange;

extern floatish auxxrange;
extern floatish auxyrange;

extern boolish eflag;
extern boolish gflag;
extern boolish yflag;
extern boolish bflag;
extern boolish sflag;
extern boolish cflag;

extern boolish multipageflag;

extern char *programname;

extern char *hpfile;
extern char *auxfile;

extern FILE *hpfp;
extern FILE *psfp;

#endif /* MAIN_H */