OpenRadioss
2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
macros.h
Go to the documentation of this file.
1
/*****************************************************************************
2
/
3
/ SPACE (SPArse Cholesky Elimination) Library: macros.h
4
/
5
/ author J"urgen Schulze, University of Paderborn
6
/ created 99jan24
7
/
8
/ This file contains some useful macros
9
/
10
******************************************************************************/
11
12
13
/* Some compilers (VC++ for instance) define a min and a max in the stdlib */
14
#ifdef min
15
# undef min
16
#endif
17
#ifdef max
18
# undef max
19
#endif
20
#define min(a,b) ((a) < (b) ? (a) : (b))
21
#define max(a,b) ((a) > (b) ? (a) : (b))
22
23
#define mymalloc(ptr, nr, type) \
24
if (!(ptr = (type*)malloc((max(nr,1)) * sizeof(type)))) \
25
{ printf("malloc failed on line %d of file %s (nr=%d)\n", \
26
__LINE__, __FILE__, nr); \
27
exit(ERR); \
28
}
29
30
#define myrealloc(ptr, nr, type) \
31
if (!(ptr = (type*)realloc(ptr, (nr) * sizeof(type)))) \
32
{ printf("realloc failed on line %d of file %s (nr=%d)\n", \
33
__LINE__, __FILE__, nr); \
34
exit(ERR); \
35
}
36
37
#define myrandom(range) \
38
rand() % (range);
39
40
#define swap(a, b, tmp) \
41
{ (tmp) = (a); (a) = (b); (b) = (tmp); }
42
43
#define seed() \
44
srand((PORD_INT)time(0) % 10000);
45
46
#define bit(var, d) \
47
((var) & (1 << (d)))
48
49
#define negbit(var, d) \
50
((var) ^ (1 << (d)))
51
52
#define waitkey() \
53
{ char _s[MAX_LINE_LEN]; printf("\n<RETURN>"); gets(_s); }
54
55
#define pord_resettimer(var) \
56
var = 0;
57
58
#define pord_starttimer(var) \
59
var -= ((FLOAT)clock()/CLOCKS_PER_SEC);
60
61
#define pord_stoptimer(var) \
62
var += ((FLOAT)clock()/CLOCKS_PER_SEC);
63
64
#define quit() \
65
exit(ERR);
66
67
#ifdef PARIX
68
#undef pord_starttimer(var)
69
#ifdef __EPX
70
#define pord_starttimer(var) \
71
var -= ((FLOAT)TimeNow()/CLOCK_TICK);
72
#else
73
#define pord_starttimer(var) \
74
var -= ((FLOAT)TimeNowHigh()/CLK_TCK_HIGH);
75
#endif
76
#undef pord_stoptimer(var)
77
#ifdef __EPX
78
#define pord_stoptimer(var) \
79
var += ((FLOAT)TimeNow()/CLOCK_TICK);
80
#else
81
#define pord_stoptimer(var) \
82
var += ((FLOAT)TimeNowHigh()/CLK_TCK_HIGH);
83
#endif
84
#undef quit()
85
#define quit() \
86
exit(ERR);
87
#endif
engine
extlib
MUMPS_5.5.1
PORD
include
macros.h
Generated by
1.15.0