From a26ea197e3564ebca6320781348de0ddf9c53823 Mon Sep 17 00:00:00 2001 From: Alfredo Buttari Date: Wed, 7 Dec 2005 09:30:43 +0000 Subject: [PATCH] Fixed temporary copy problem in call to mrgsrt --- src/serial/imsr.f90 | 2 +- src/serial/imsrx.f90 | 2 +- src/serial/psb_dfixcoo.f90 | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/serial/imsr.f90 b/src/serial/imsr.f90 index e114f57c..5266e6f3 100644 --- a/src/serial/imsr.f90 +++ b/src/serial/imsr.f90 @@ -23,7 +23,7 @@ endif - call mrgsrt(n,x,iaux,iret) + call mrgsrt(n,x(1),iaux(1),iret) if (iret == 0) then lp = iaux(0) diff --git a/src/serial/imsrx.f90 b/src/serial/imsrx.f90 index 8052c111..c68e066a 100644 --- a/src/serial/imsrx.f90 +++ b/src/serial/imsrx.f90 @@ -31,7 +31,7 @@ indx(k) = k enddo - call mrgsrt(n,x,iaux,iret) + call mrgsrt(n,x(1),iaux(1),iret) if (iret /= 1) then lp = iaux(0) diff --git a/src/serial/psb_dfixcoo.f90 b/src/serial/psb_dfixcoo.f90 index 20497fe8..b6166a84 100644 --- a/src/serial/psb_dfixcoo.f90 +++ b/src/serial/psb_dfixcoo.f90 @@ -41,8 +41,8 @@ Subroutine psb_dfixcoo(A,INFO,idir) case(0) ! Row major order - call mrgsrt(nza,a%ia1,iaux,iret) - if (iret.eq.0) call reordvn(nza,a%aspk,a%ia1,a%ia2,iaux) + call mrgsrt(nza,a%ia1(1),iaux(1),iret) + if (iret.eq.0) call reordvn(nza,a%aspk(1),a%ia1(1),a%ia2(1),iaux(1)) i = 1 j = i do while (i.le.nza) @@ -51,9 +51,9 @@ Subroutine psb_dfixcoo(A,INFO,idir) if (j > nza) exit enddo nzl = j - i - call mrgsrt(nzl,a%ia2(i),iaux,iret) + call mrgsrt(nzl,a%ia2(i),iaux(1),iret) 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 enddo @@ -82,8 +82,8 @@ Subroutine psb_dfixcoo(A,INFO,idir) case(1) ! Col major order - call mrgsrt(nza,a%ia2,iaux,iret) - if (iret.eq.0) call reordvn(nza,a%aspk,a%ia1,a%ia2,iaux) + call mrgsrt(nza,a%ia2(1),iaux(1),iret) + if (iret.eq.0) call reordvn(nza,a%aspk(1),a%ia1(1),a%ia2(1),iaux(1)) i = 1 j = i do while (i.le.nza) @@ -92,9 +92,9 @@ Subroutine psb_dfixcoo(A,INFO,idir) if (j > nza) exit enddo 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) & - & 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 enddo