blob: 21340adbd57767a9009c2a5c98c0a946dd09ab31 (
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
|
//+----------------------------------------------------------------------------
//
// File: macros.h
//
// Module:
//
// Synopsis:
//
// Copyright (C) 2003
//
// Created: sgasch 10 Oct 2003
//
//+----------------------------------------------------------------------------
#ifndef _MACROS_H_
#define _MACROS_H_
//
// Macros
//
#define ARRAY_LENGTH(a) (sizeof((a)) / sizeof((a)[0]))
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
#define MAX(x, y) (((x) > (y)) ? (x) : (y))
#if 1
void _assert(CHAR *, CHAR *, ULONG);
void VideoPrint(CHAR *, ...);
#define ASSERT(x) if (x) \
{ ; } \
else \
{ _assert(__FUNCTION__ , \
__FILE__ , \
__LINE__); }
#define TRACE(f, ...) VideoPrint("%s:%u> " ##f , __FUNCTION__ , \
__LINE__ , ##__VA_ARGS__)
#else
#define ASSERT(x) ;
#define TRACE(f, ...) ;
#endif // DEBUG
#define CURRENT_STAMP(a) asm volatile("rdtsc" : "=a"(((unsigned int *)(a))[0]), "=d"(((unsigned int *)a)[1]))
#endif /* _MACROS_H_ */
|