summaryrefslogtreecommitdiffstats
path: root/src/misc/vec/vec.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2007-09-06 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2007-09-06 08:01:00 -0700
commit9be1b076934b0410689c857cd71ef7d21a714b5f (patch)
treec342242ad3c5ea9d35e6e682f9026534ec73fcbe /src/misc/vec/vec.h
parentb2470dd3da962026fd874e13c2cf78c10099fe68 (diff)
downloadabc-9be1b076934b0410689c857cd71ef7d21a714b5f.tar.gz
abc-9be1b076934b0410689c857cd71ef7d21a714b5f.tar.bz2
abc-9be1b076934b0410689c857cd71ef7d21a714b5f.zip
Version abc70906
Diffstat (limited to 'src/misc/vec/vec.h')
-rw-r--r--src/misc/vec/vec.h46
1 files changed, 40 insertions, 6 deletions
diff --git a/src/misc/vec/vec.h b/src/misc/vec/vec.h
index f23cc178..40b46bc5 100644
--- a/src/misc/vec/vec.h
+++ b/src/misc/vec/vec.h
@@ -25,12 +25,50 @@
extern "C" {
#endif
+#ifdef _WIN32
+#define inline __inline // compatible with MS VS 6.0
+#endif
+
////////////////////////////////////////////////////////////////////////
/// INCLUDES ///
////////////////////////////////////////////////////////////////////////
-#ifdef _WIN32
-#define inline __inline // compatible with MS VS 6.0
+// this include should be the first one in the list
+// it is used to catch memory leaks on Windows
+#include "leaks.h"
+
+////////////////////////////////////////////////////////////////////////
+/// MACRO DEFINITIONS ///
+////////////////////////////////////////////////////////////////////////
+
+#ifndef ABS
+#define ABS(a) ((a) < 0 ? -(a) : (a))
+#endif
+
+#ifndef MAX
+#define MAX(a,b) ((a) > (b) ? (a) : (b))
+#endif
+
+#ifndef MIN
+#define MIN(a,b) ((a) < (b) ? (a) : (b))
+#endif
+
+#ifndef ALLOC
+#define ALLOC(type, num) ((type *) malloc(sizeof(type) * (num)))
+#endif
+
+#ifndef FREE
+#define FREE(obj) ((obj) ? (free((char *) (obj)), (obj) = 0) : 0)
+#endif
+
+#ifndef REALLOC
+#define REALLOC(type, obj, num) \
+ ((obj) ? ((type *) realloc((char *)(obj), sizeof(type) * (num))) : \
+ ((type *) malloc(sizeof(type) * (num))))
+#endif
+
+#ifndef PRT
+#define PRT(a,t) printf("%s = ", (a)); printf("%6.2f sec\n", (float)(t)/(float)(CLOCKS_PER_SEC))
#endif
#include "vecInt.h"
@@ -49,10 +87,6 @@ extern "C" {
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
-/// MACRO DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////
/// FUNCTION DECLARATIONS ///
////////////////////////////////////////////////////////////////////////