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
76
77
|
#if DEBUG
#include <stdio.h>
#define DBG(x) fputs (x, stdout); fflush (stdout);
#else
#define DBG(x)
#endif
#define TEST_FUNCS(NAME, TYPE, PADT, VAL, VAL2) \
extern void NAME##_f0 (TYPE a, PADT b); \
extern void NAME##_f1 (PADT z0, TYPE a, PADT b); \
extern void NAME##_f2 (PADT z0, PADT z1, TYPE a, PADT b); \
extern void NAME##_f3 (PADT z0, PADT z1, PADT z2, TYPE a, PADT b); \
extern void NAME##_f4 (PADT z0, PADT z1, PADT z2, PADT z3, TYPE a, \
PADT b); \
extern void NAME##_f5 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
TYPE a, PADT b); \
extern void NAME##_f6 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
PADT z5, TYPE a, PADT b); \
extern void NAME##_f7 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
PADT z5, PADT z6, TYPE a, PADT b); \
extern void NAME##_f8 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
PADT z5, PADT z6, PADT z7, TYPE a, PADT b); \
extern void NAME##_f9 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
PADT z5, PADT z6, PADT z7, PADT z8, TYPE a, \
PADT b); \
extern void NAME##_fv (int n, ...); \
\
void NAME##_doit (void) \
{ \
NAME##_f0 (VAL, VAL2); \
DBG ("."); \
NAME##_f1 ((PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_f2 ((PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_f3 ((PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_f4 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_f5 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
VAL, VAL2); \
DBG ("."); \
NAME##_f6 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
(PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_f7 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
(PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_f8 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
(PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_f9 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
(PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_fv (0, VAL, VAL2); \
DBG ("."); \
NAME##_fv (1, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_fv (2, (PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_fv (3, (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_fv (4, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_fv (5, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
VAL, VAL2); \
DBG ("."); \
NAME##_fv (6, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
(PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_fv (7, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
(PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("."); \
NAME##_fv (8, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
(PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
DBG ("\n"); \
}
|