Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,76 @@
|
|||
* Floyd-Warshall algorithm - 06/06/2018
|
||||
FLOYDWAR CSECT
|
||||
USING FLOYDWAR,R13 base register
|
||||
B 72(R15) skip savearea
|
||||
DC 17F'0' savearea
|
||||
SAVE (14,12) save previous context
|
||||
ST R13,4(R15) link backward
|
||||
ST R15,8(R13) link forward
|
||||
LR R13,R15 set addressability
|
||||
MVC A+8,=F'-2' a(1,3)=-2
|
||||
MVC A+VV*4,=F'4' a(2,1)= 4
|
||||
MVC A+VV*4+8,=F'3' a(2,3)= 3
|
||||
MVC A+VV*8+12,=F'2' a(3,4)= 2
|
||||
MVC A+VV*12+4,=F'-1' a(4,2)=-1
|
||||
LA R8,1 k=1
|
||||
DO WHILE=(C,R8,LE,V) do k=1 to v
|
||||
LA R10,A @a
|
||||
LA R6,1 i=1
|
||||
DO WHILE=(C,R6,LE,V) do i=1 to v
|
||||
LA R7,1 j=1
|
||||
DO WHILE=(C,R7,LE,V) do j=1 to v
|
||||
LR R1,R6 i
|
||||
BCTR R1,0
|
||||
MH R1,=AL2(VV)
|
||||
AR R1,R8 k
|
||||
SLA R1,2
|
||||
L R9,A-4(R1) a(i,k)
|
||||
LR R1,R8 k
|
||||
BCTR R1,0
|
||||
MH R1,=AL2(VV)
|
||||
AR R1,R7 j
|
||||
SLA R1,2
|
||||
L R3,A-4(R1) a(k,j)
|
||||
AR R9,R3 w=a(i,k)+a(k,j)
|
||||
L R2,0(R10) a(i,j)
|
||||
IF CR,R2,GT,R9 THEN if a(i,j)>w then
|
||||
ST R9,0(R10) a(i,j)=w
|
||||
ENDIF , endif
|
||||
LA R10,4(R10) next @a
|
||||
LA R7,1(R7) j++
|
||||
ENDDO , enddo j
|
||||
LA R6,1(R6) i++
|
||||
ENDDO , enddo i
|
||||
LA R8,1(R8) k++
|
||||
ENDDO , enddo k
|
||||
LA R10,A @a
|
||||
LA R6,1 f=1
|
||||
DO WHILE=(C,R6,LE,V) do f=1 to v
|
||||
LA R7,1 t=1
|
||||
DO WHILE=(C,R7,LE,V) do t=1 to v
|
||||
IF CR,R6,NE,R7 THEN if f^=t then do
|
||||
LR R1,R6 f
|
||||
XDECO R1,XDEC edit f
|
||||
MVC PG+0(4),XDEC+8 output f
|
||||
LR R1,R7 t
|
||||
XDECO R1,XDEC edit t
|
||||
MVC PG+8(4),XDEC+8 output t
|
||||
L R2,0(R10) a(f,t)
|
||||
XDECO R2,XDEC edit a(f,t)
|
||||
MVC PG+12(4),XDEC+8 output a(f,t)
|
||||
XPRNT PG,L'PG print
|
||||
ENDIF , endif
|
||||
LA R10,4(R10) next @a
|
||||
LA R7,1(R7) t++
|
||||
ENDDO , enddo t
|
||||
LA R6,1(R6) f++
|
||||
ENDDO , enddo f
|
||||
L R13,4(0,R13) restore previous savearea pointer
|
||||
RETURN (14,12),RC=0 restore registers from calling sav
|
||||
VV EQU 4
|
||||
V DC A(VV)
|
||||
A DC (VV*VV)F'99999999' a(vv,vv)
|
||||
PG DC CL80' . -> . .'
|
||||
XDEC DS CL12
|
||||
YREGS
|
||||
END FLOYDWAR
|
||||
Loading…
Add table
Add a link
Reference in a new issue