Fixed temporary copy problem in call to mrgsrt

psblas3-type-indexed
Alfredo Buttari 19 years ago
parent c3b199021d
commit a26ea197e3

@ -23,7 +23,7 @@
endif endif
call mrgsrt(n,x,iaux,iret) call mrgsrt(n,x(1),iaux(1),iret)
if (iret == 0) then if (iret == 0) then
lp = iaux(0) lp = iaux(0)

@ -31,7 +31,7 @@
indx(k) = k indx(k) = k
enddo enddo
call mrgsrt(n,x,iaux,iret) call mrgsrt(n,x(1),iaux(1),iret)
if (iret /= 1) then if (iret /= 1) then
lp = iaux(0) lp = iaux(0)

@ -41,8 +41,8 @@ Subroutine psb_dfixcoo(A,INFO,idir)
case(0) ! Row major order case(0) ! Row major order
call mrgsrt(nza,a%ia1,iaux,iret) call mrgsrt(nza,a%ia1(1),iaux(1),iret)
if (iret.eq.0) call reordvn(nza,a%aspk,a%ia1,a%ia2,iaux) if (iret.eq.0) call reordvn(nza,a%aspk(1),a%ia1(1),a%ia2(1),iaux(1))
i = 1 i = 1
j = i j = i
do while (i.le.nza) do while (i.le.nza)
@ -51,9 +51,9 @@ Subroutine psb_dfixcoo(A,INFO,idir)
if (j > nza) exit if (j > nza) exit
enddo enddo
nzl = j - i nzl = j - i
call mrgsrt(nzl,a%ia2(i),iaux,iret) call mrgsrt(nzl,a%ia2(i),iaux(1),iret)
if (iret.eq.0) & if (iret.eq.0) &
& call reordvn(nzl,a%aspk(i),a%ia1(i),a%ia2(i),iaux) & call reordvn(nzl,a%aspk(i),a%ia1(i),a%ia2(i),iaux(1))
i = j i = j
enddo enddo
@ -82,8 +82,8 @@ Subroutine psb_dfixcoo(A,INFO,idir)
case(1) ! Col major order case(1) ! Col major order
call mrgsrt(nza,a%ia2,iaux,iret) call mrgsrt(nza,a%ia2(1),iaux(1),iret)
if (iret.eq.0) call reordvn(nza,a%aspk,a%ia1,a%ia2,iaux) if (iret.eq.0) call reordvn(nza,a%aspk(1),a%ia1(1),a%ia2(1),iaux(1))
i = 1 i = 1
j = i j = i
do while (i.le.nza) do while (i.le.nza)
@ -92,9 +92,9 @@ Subroutine psb_dfixcoo(A,INFO,idir)
if (j > nza) exit if (j > nza) exit
enddo enddo
nzl = j - i nzl = j - i
call mrgsrt(nzl,a%ia1(i:i+nzl-1),iaux,iret) call mrgsrt(nzl,a%ia1(i),iaux(1),iret)
if (iret.eq.0) & if (iret.eq.0) &
& call reordvn(nzl,a%aspk(i:i+nzl-1),a%ia1(i:i+nzl-1),a%ia2(i:i+nzl-1),iaux) & call reordvn(nzl,a%aspk(i),a%ia1(i),a%ia2(i),iaux(1))
i = j i = j
enddo enddo

Loading…
Cancel
Save