Subversion Repositories wimsdev

Rev

Rev 4351 | Rev 12676 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4351 Rev 11865
Line 4... Line 4...
4
 
4
 
5
slib_author=Bernadette, Perrin-Riou
5
slib_author=Bernadette, Perrin-Riou; Dominique, Bernardi
6
 
-
 
-
 
6
slib_example=[0,0,1,1,1,1,0,0;0,0,1,1,1,1,1,0;0,0,0,0,0,0,0,1;0,0,0,0,0,0,1,0;0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0],3,8\
-
 
7
[0,0,1,1,0,1;0,0,1,1,0,0;0,0,0,0,1,0;0,0,0,0,1,1;0,0,0,0,0,0;0,0,0,0,0,0],1,5
7
!exit
8
!exit
8
 
9
 
9
:proc
10
:proc
-
 
11
!reset slib_out
10
 
12
 
11
!distribute item $wims_read_parm into slib_A,slib_s,slib_t
13
!distribute item $wims_read_parm into slib_A,slib_s,slib_t
-
 
14
slib_A=!declosing $slib_A
-
 
15
slib_A=!lines2rows $slib_A
-
 
16
 
-
 
17
 Directed Acyclic Graph
-
 
18
 
-
 
19
 slib_res=!exec pari (allpaths(M,a,b)={my(n=#M,res=[],res1);if(a==b,res=[[a]],for(i=1,n,if(M[a,i],res1=allpaths(M,i,b);for(j=1,#res1,res=concat(res,[concat(a,res1[j])]))))); res});A=[$slib_A]; allpaths(A,$slib_s,$slib_t)
-
 
20
 
-
 
21
slib_rescnt=!itemcnt $slib_res
-
 
22
!for slib_ch=1 to $slib_rescnt
-
 
23
  slib_chh=!declosing $(slib_res[$slib_ch])
-
 
24
  slib_out=!append line $slib_chh to $slib_out
-
 
25
!next
-
 
26
 
-
 
27
!exit
-
 
28
 
-
 
29
slib_A=!replace internal ; by $\
-
 
30
$ in $slib_A
-
 
31
 
12
slib_A= !declosing $slib_A
32
slib_A= !declosing $slib_A
13
slib_A=!replace internal ; by $\
33
slib_A=!replace internal ; by $\
14
$ in $slib_A
34
$ in $slib_A
15
slib_n = !linecnt $slib_A
35
slib_n = !linecnt $slib_A
16
 
-
 
17
slib_chemin=$slib_t
36
slib_chemin=$slib_t
-
 
37
 
18
!for slib_i=1 to $slib_n
38
!for slib_i=1 to $slib_n
19
 !for slib_k=1 to $slib_n
39
 !for slib_k=1 to $slib_n
20
  !for slib_j=1 to $slib_n
40
  !for slib_j=1 to $slib_n
21
   slib_r=!line $slib_k of $slib_A
41
   slib_r=!line $slib_k of $slib_A
22
   slib_r=!item $slib_j of $slib_r
42
   slib_r=!item $slib_j of $slib_r
23
   !if $slib_r != 0
43
   !if $slib_r != 0
24
    slib_cnt=!linecnt $slib_chemin
44
    slib_cnt=!linecnt $slib_chemin
25
    !for slib_u = 1 to $slib_cnt
45
    !for slib_u = 1 to $slib_cnt
26
     slib_che=!line $slib_u of $slib_chemin
46
     slib_che=!line $slib_u of $slib_chemin
27
     slib_che1=!item 1 of $slib_che
47
     slib_che1=!item 1 of $slib_che
28
     !if $slib_che1 = $slib_j
48
     !if $slib_che1 = $slib_j and $slib_k,$slib_che notlineof $slib_chemin
29
      slib_chemin=$slib_chemin\
49
      slib_chemin=$slib_chemin\
30
$slib_k,$slib_che
50
$slib_k,$slib_che
31
     !endif
51
     !endif
32
    !next slib_u
52
    !next slib_u
33
   !endif
53
   !endif
34
  !next slib_j
54
  !next slib_j
35
 !next slib_k
55
 !next slib_k
36
!next slib_i
56
!next slib_i
-
 
57
 
-
 
58
slib_chemin=!select $slib_chemin where column 1=$slib_s
37
 
59
 
38
slib_out=$slib_chemin
60
slib_out=$slib_chemin