Mercurial > hg > camir-aes2014
comparison toolboxes/graph_visualisation/include/graphviz/arith.h @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e9a9cd732c1e |
---|---|
1 /* $Id: arith.h,v 1.16 2009/06/03 01:10:51 ellson Exp $ $Revision: 1.16 $ */ | |
2 /* vim:set shiftwidth=4 ts=8: */ | |
3 | |
4 /********************************************************** | |
5 * This software is part of the graphviz package * | |
6 * http://www.graphviz.org/ * | |
7 * * | |
8 * Copyright (c) 1994-2004 AT&T Corp. * | |
9 * and is licensed under the * | |
10 * Common Public License, Version 1.0 * | |
11 * by AT&T Corp. * | |
12 * * | |
13 * Information and Software Systems Research * | |
14 * AT&T Research, Florham Park NJ * | |
15 **********************************************************/ | |
16 | |
17 /* geometric functions (e.g. on points and boxes) with application to, but | |
18 * no specific dependance on graphs */ | |
19 | |
20 #ifndef GV_ARITH_H | |
21 #define GV_ARITH_H | |
22 | |
23 /* for sincos */ | |
24 #ifndef _GNU_SOURCE | |
25 #define _GNU_SOURCE 1 | |
26 #endif | |
27 | |
28 #include <limits.h> | |
29 #ifdef HAVE_VALUES_H | |
30 #include <values.h> | |
31 #endif | |
32 #include <math.h> | |
33 | |
34 #ifdef __cplusplus | |
35 extern "C" { | |
36 #endif | |
37 | |
38 #ifdef MIN | |
39 #undef MIN | |
40 #endif | |
41 #define MIN(a,b) ((a)<(b)?(a):(b)) | |
42 | |
43 #ifdef MAX | |
44 #undef MAX | |
45 #endif | |
46 #define MAX(a,b) ((a)>(b)?(a):(b)) | |
47 | |
48 #ifdef ABS | |
49 #undef ABS | |
50 #endif | |
51 #define ABS(a) ((a) >= 0 ? (a) : -(a)) | |
52 | |
53 #define AVG(a,b) ((a + b) / 2) | |
54 #define SGN(a) (((a)<0)? -1 : 1) | |
55 #define CMP(a,b) (((a)<(b)) ? -1 : (((a)>(b)) ? 1 : 0)) | |
56 | |
57 #ifndef INT_MAX | |
58 #define INT_MAX ((int)(~(unsigned)0 >> 1)) | |
59 #endif | |
60 | |
61 #ifndef INT_MIN | |
62 #define INT_MIN (-INT_MAX - 1) | |
63 #endif | |
64 | |
65 #ifndef MAXSHORT | |
66 #define MAXSHORT (0x7fff) | |
67 #endif | |
68 | |
69 #ifndef MAXDOUBLE | |
70 #define MAXDOUBLE 1.7976931348623157e+308 | |
71 #endif | |
72 | |
73 #ifndef MAXFLOAT | |
74 #define MAXFLOAT ((float)3.40282347e+38) | |
75 #endif | |
76 | |
77 #ifdef BETWEEN | |
78 #undef BETWEEN | |
79 #endif | |
80 #define BETWEEN(a,b,c) (((a) <= (b)) && ((b) <= (c))) | |
81 | |
82 #ifndef M_PI | |
83 #define M_PI 3.14159265358979323846 | |
84 #endif | |
85 | |
86 #ifndef SQRT2 | |
87 #define SQRT2 1.41421356237309504880 | |
88 #endif | |
89 | |
90 #define ROUND(f) ((f>=0)?(int)(f + .5):(int)(f - .5)) | |
91 #define RADIANS(deg) ((deg)/180.0 * M_PI) | |
92 #define DEGREES(rad) ((rad)/M_PI * 180.0) | |
93 | |
94 #define SQR(a) ((a) * (a)) | |
95 | |
96 #ifdef HAVE_SINCOS | |
97 extern void sincos(double x, double *s, double *c); | |
98 #else | |
99 # define sincos(x,s,c) *s = sin(x); *c = cos(x) | |
100 #endif | |
101 | |
102 #ifdef __cplusplus | |
103 } | |
104 #endif | |
105 | |
106 #endif |