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
|
>>> T10:={[mp,mq,mi] -> [mi,mq,mp,0]};
>>> T20:={[mp,mq,mi] -> [mi,mp,mq,1]};
>>>
>>> Symbolic np,morb;
>>> IS10 := {[mp,mq,mi]: 1 <= mp <= np && 1 <= mq <= mp && 1 <= mi <= morb};
>>> IS20 := IS10;
>>>
>>> codegen T10:IS10,T20:IS20;
if (np >= 1) {
for(t1 = 1; t1 <= morb; t1++) {
for(t2 = 1; t2 <= np; t2++) {
for(t3 = 1; t3 <= t2-1; t3++) {
s2(t2,t3,t1);
}
s1(t2,t2,t1);
s2(t2,t2,t1);
for(t3 = t2+1; t3 <= np; t3++) {
s1(t3,t2,t1);
}
}
}
}
>>> codegen 2 T10:IS10,T20:IS20;
if (np >= 1) {
for(t1 = 1; t1 <= morb; t1++) {
s1(1,1,t1);
s2(1,1,t1);
for(t3 = 2; t3 <= np; t3++) {
s1(t3,1,t1);
}
for(t2 = 2; t2 <= np-1; t2++) {
for(t3 = 1; t3 <= t2-1; t3++) {
s2(t2,t3,t1);
}
s1(t2,t2,t1);
s2(t2,t2,t1);
for(t3 = t2+1; t3 <= np; t3++) {
s1(t3,t2,t1);
}
}
for(t3 = 1; t3 <= np-1; t3++) {
s2(np,t3,t1);
}
if (np >= 2) {
s1(np,np,t1);
s2(np,np,t1);
}
}
}
|