1 /* Function definitions that are used by multiple tests.  */
2 
3 #define INITS(NAME,TYPEM)					\
4 void initS##NAME##1 (S##NAME##1 *p, TYPEM y)			\
5 { p->a = y; }							\
6 void initS##NAME##2 (S##NAME##2 *p, TYPEM y)			\
7 { p->a = y; p->b = y+1; }					\
8 void initS##NAME##3 (S##NAME##3 *p, TYPEM y)			\
9 { p->a = y; p->b = y+1; p->c = y+2; }				\
10 void initS##NAME##4 (S##NAME##4 *p, TYPEM y)			\
11 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; }		\
12 void initS##NAME##5 (S##NAME##5 *p, TYPEM y)			\
13 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4; }	\
14 void initS##NAME##6 (S##NAME##6 *p, TYPEM y)			\
15 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
16   p->f = y+5; }							\
17 void initS##NAME##7 (S##NAME##7 *p, TYPEM y)			\
18 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
19   p->f = y+5; p->g = y+6; }					\
20 void initS##NAME##8 (S##NAME##8 *p, TYPEM y)			\
21 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
22   p->f = y+5; p->g = y+6; p->h = y+7; }				\
23 void initS##NAME##9 (S##NAME##9 *p, TYPEM y)			\
24 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
25   p->f = y+5; p->g = y+6; p->h = y+7; p->i = y+8; }		\
26 void initS##NAME##10 (S##NAME##10 *p, TYPEM y)			\
27 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
28   p->f = y+5; p->g = y+6; p->h = y+7; p->i = y+8; p->j = y+9; }	\
29 void initS##NAME##11 (S##NAME##11 *p, TYPEM y)			\
30 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
31   p->f = y+5; p->g = y+6; p->h = y+7; p->i = y+8; p->j = y+9;	\
32   p->k = y+10; }						\
33 void initS##NAME##12 (S##NAME##12 *p, TYPEM y)			\
34 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
35   p->f = y+5; p->g = y+6; p->h = y+7; p->i = y+8; p->j = y+9;	\
36   p->k = y+10; p->l = y+11; }					\
37 void initS##NAME##13 (S##NAME##13 *p, TYPEM y)			\
38 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
39   p->f = y+5; p->g = y+6; p->h = y+7; p->i = y+8; p->j = y+9;	\
40   p->k = y+10; p->l = y+11; p->m = y+12; }			\
41 void initS##NAME##14 (S##NAME##14 *p, TYPEM y)			\
42 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
43   p->f = y+5; p->g = y+6; p->h = y+7; p->i = y+8; p->j = y+9;	\
44   p->k = y+10; p->l = y+11; p->m = y+12; p->n = y+13; }		\
45 void initS##NAME##15 (S##NAME##15 *p, TYPEM y)			\
46 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
47   p->f = y+5; p->g = y+6; p->h = y+7; p->i = y+8; p->j = y+9;	\
48   p->k = y+10; p->l = y+11; p->m = y+12; p->n = y+13;		\
49   p->o = y+14; }						\
50 void initS##NAME##16 (S##NAME##16 *p, TYPEM y)			\
51 { p->a = y; p->b = y+1; p->c = y+2; p->d = y+3; p->e = y+4;	\
52   p->f = y+5; p->g = y+6; p->h = y+7; p->i = y+8; p->j = y+9;	\
53   p->k = y+10; p->l = y+11; p->m = y+12; p->n = y+13;		\
54   p->o = y+14; p->p = y+15; }
55