1########################################
2#
3# gen_cats(N)
4#
5# declares categores c0 to c(N-1)
6#
7define(`decl_cats',`dnl
8category c$1;
9ifelse(`$1',`$2',,`decl_cats(incr($1),$2)')dnl
10')
11
12define(`gen_cats',`decl_cats(0,decr($1))')
13
14########################################
15#
16# gen_sens(N)
17#
18# declares sensitivites s0 to s(N-1) with dominance
19# in increasing numeric order with s0 lowest, s(N-1) highest
20#
21define(`decl_sens',`dnl
22sensitivity s$1;
23ifelse(`$1',`$2',,`decl_sens(incr($1),$2)')dnl
24')
25
26define(`gen_dominance',`s$1 ifelse(`$1',`$2',,`gen_dominance(incr($1),$2)')')
27
28define(`gen_sens',`
29# Each sensitivity has a name and zero or more aliases.
30decl_sens(0,decr($1))
31
32# Define the ordering of the sensitivity levels (least to greatest)
33dominance { gen_dominance(0,decr($1)) }
34')
35
36########################################
37#
38# gen_levels(N,M)
39#
40# levels from s0 to (N-1) with categories c0 to (M-1)
41#
42define(`decl_levels',`dnl
43level s$1:c0.c$3;
44ifelse(`$1',`$2',,`decl_levels(incr($1),$2,$3)')dnl
45')
46
47define(`gen_levels',`decl_levels(0,decr($1),decr($2))')
48
49########################################
50#
51# Basic level names for system low and high
52#
53define(`mls_systemlow',`s0')
54define(`mls_systemhigh',`s`'decr(mls_num_sens):c0.c`'decr(mls_num_cats)')
55