From c8eef1db214fb77e84c9c40a737b7686b3aae684 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Mon, 24 Apr 2006 12:21:44 +0000 Subject: [PATCH] Fixed transc. --- src/modules/psb_comm_mod.f90 | 20 ++++----- src/modules/psb_serial_mod.f90 | 9 ++++ src/modules/psb_tools_mod.f90 | 81 ++++++++++++++++------------------ src/serial/Makefile | 2 +- 4 files changed, 57 insertions(+), 55 deletions(-) diff --git a/src/modules/psb_comm_mod.f90 b/src/modules/psb_comm_mod.f90 index aedb655d..a7d97344 100644 --- a/src/modules/psb_comm_mod.f90 +++ b/src/modules/psb_comm_mod.f90 @@ -31,41 +31,37 @@ module psb_comm_mod interface psb_ovrl - subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,choice,update_type) + subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,update) use psb_descriptor_type real(kind(1.d0)), intent(inout) :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(kind(1.d0)), intent(inout), optional :: work(:) - logical, intent(in), optional :: choice - integer, intent(in), optional :: update_type,jx,ik + integer, intent(in), optional :: update,jx,ik end subroutine psb_dovrlm - subroutine psb_dovrlv(x,desc_a,info,work,choice,update_type) + subroutine psb_dovrlv(x,desc_a,info,work,update) use psb_descriptor_type real(kind(1.d0)), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(kind(1.d0)), intent(inout), optional :: work(:) - logical, intent(in), optional :: choice - integer, intent(in), optional :: update_type + integer, intent(in), optional :: update end subroutine psb_dovrlv - subroutine psb_zovrlm(x,desc_a,info,jx,ik,work,choice,update_type) + subroutine psb_zovrlm(x,desc_a,info,jx,ik,work,update) use psb_descriptor_type complex(kind(1.d0)), intent(inout) :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info complex(kind(1.d0)), intent(inout), optional :: work(:) - logical, intent(in), optional :: choice - integer, intent(in), optional :: update_type,jx,ik + integer, intent(in), optional :: update,jx,ik end subroutine psb_zovrlm - subroutine psb_zovrlv(x,desc_a,info,work,choice,update_type) + subroutine psb_zovrlv(x,desc_a,info,work,update) use psb_descriptor_type complex(kind(1.d0)), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info complex(kind(1.d0)), intent(inout), optional :: work(:) - logical, intent(in), optional :: choice - integer, intent(in), optional :: update_type + integer, intent(in), optional :: update end subroutine psb_zovrlv end interface diff --git a/src/modules/psb_serial_mod.f90 b/src/modules/psb_serial_mod.f90 index 1f89beb9..70472440 100644 --- a/src/modules/psb_serial_mod.f90 +++ b/src/modules/psb_serial_mod.f90 @@ -366,6 +366,15 @@ module psb_serial_mod end subroutine psb_ztransp end interface + interface psb_transc + subroutine psb_ztransc(a,b,c,fmt) + use psb_spmat_type + type(psb_zspmat_type) :: a,b + integer, optional :: c + character(len=*), optional :: fmt + end subroutine psb_ztransc + end interface + interface psb_rwextd subroutine psb_drwextd(nr,a,info,b) use psb_spmat_type diff --git a/src/modules/psb_tools_mod.f90 b/src/modules/psb_tools_mod.f90 index bbfde9fd..0efb3786 100644 --- a/src/modules/psb_tools_mod.f90 +++ b/src/modules/psb_tools_mod.f90 @@ -33,56 +33,53 @@ Module psb_tools_mod interface psb_geall ! 2-D double precision version - subroutine psb_dalloc(m, n, x, desc_a, info, js) + subroutine psb_dalloc(x, desc_a, info, n) use psb_descriptor_type implicit none - integer, intent(in) :: m,n - real(kind(1.d0)), pointer :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer :: info - integer, optional, intent(in) :: js + real(kind(1.d0)), pointer :: x(:,:) + type(psb_desc_type), intent(in) :: desc_a + integer :: info + integer, optional, intent(in) :: n end subroutine psb_dalloc ! 1-D double precision version - subroutine psb_dallocv(m, x, desc_a,info) + subroutine psb_dallocv(x, desc_a,info,n) use psb_descriptor_type - integer, intent(in) :: m - real(kind(1.d0)), pointer :: x(:) - type(psb_desc_type), intent(in):: desc_a - integer :: info + real(kind(1.d0)), pointer :: x(:) + type(psb_desc_type), intent(in) :: desc_a + integer :: info + integer, optional, intent(in) :: n end subroutine psb_dallocv ! 2-D integer version - subroutine psb_ialloc(m, n, x, desc_a, info,js) + subroutine psb_ialloc(x, desc_a, info,n) use psb_descriptor_type - integer, intent(in) :: m,n - integer, pointer :: x(:,:) - type(psb_desc_type), intent(inout) :: desc_a - integer, intent(out) :: info - integer, optional, intent(in) :: js + integer, pointer :: x(:,:) + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info + integer, optional, intent(in) :: n end subroutine psb_ialloc - subroutine psb_iallocv(m, x, desc_a,info) + subroutine psb_iallocv(x, desc_a,info,n) use psb_descriptor_type - integer, intent(in) :: m - integer, pointer :: x(:) - type(psb_desc_type), intent(in):: desc_a - integer :: info + integer, pointer :: x(:) + type(psb_desc_type), intent(in) :: desc_a + integer :: info + integer, optional, intent(in) :: n end subroutine psb_iallocv ! 2-D double precision version - subroutine psb_zalloc(m, n, x, desc_a, info, js) + subroutine psb_zalloc(x, desc_a, info, n) use psb_descriptor_type implicit none - integer, intent(in) :: m,n - complex(kind(1.d0)), pointer :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer :: info - integer, optional, intent(in) :: js + complex(kind(1.d0)), pointer :: x(:,:) + type(psb_desc_type), intent(in) :: desc_a + integer :: info + integer, optional, intent(in) :: n end subroutine psb_zalloc ! 1-D double precision version - subroutine psb_zallocv(m, x, desc_a,info) + subroutine psb_zallocv(x, desc_a,info,n) use psb_descriptor_type - integer, intent(in) :: m - complex(kind(1.d0)), pointer :: x(:) - type(psb_desc_type), intent(in):: desc_a - integer :: info + complex(kind(1.d0)), pointer :: x(:) + type(psb_desc_type), intent(in) :: desc_a + integer :: info + integer, optional, intent(in) :: n end subroutine psb_zallocv end interface @@ -292,7 +289,7 @@ Module psb_tools_mod interface psb_geins ! 2-D double precision version - subroutine psb_dins(m, n, x, ix, jx, blck, desc_a, info,& + subroutine psb_dins(m, n, blck, x, ix, jx, desc_a, info,& & iblck, jblck,dupl) use psb_descriptor_type integer, intent(in) :: m,n @@ -305,7 +302,7 @@ Module psb_tools_mod integer, optional, intent(in) :: dupl end subroutine psb_dins ! 2-D double precision square version - subroutine psb_dinsvm(m, x, ix, jx, blck, desc_a,info,& + subroutine psb_dinsvm(m, blck, x, ix, jx, desc_a,info,& & iblck,dupl) use psb_descriptor_type integer, intent(in) :: m @@ -318,7 +315,7 @@ Module psb_tools_mod integer, optional, intent(in) :: dupl end subroutine psb_dinsvm ! 1-D double precision version - subroutine psb_dinsvv(m, x, ix, blck, desc_a, info,& + subroutine psb_dinsvv(m, blck, x, ix, desc_a, info,& & iblck,insflag,dupl) use psb_descriptor_type integer, intent(in) :: m @@ -332,7 +329,7 @@ Module psb_tools_mod integer, optional, intent(in) :: dupl end subroutine psb_dinsvv ! 2-D integer version - subroutine psb_iins(m, n, x, ix, jx, blck, desc_a, info,& + subroutine psb_iins(m, n, blck, x, ix, jx, desc_a, info,& & iblck, jblck,dupl) use psb_descriptor_type integer, intent(in) :: m,n @@ -345,7 +342,7 @@ Module psb_tools_mod integer, optional, intent(in) :: dupl end subroutine psb_iins ! 2-D integer square version - subroutine psb_iinsvm(m, x, ix, jx, blck, desc_a,info,& + subroutine psb_iinsvm(m, blck, x, ix, jx, desc_a,info,& & iblck,dupl) use psb_descriptor_type integer, intent(in) :: m @@ -358,7 +355,7 @@ Module psb_tools_mod integer, optional, intent(in) :: dupl end subroutine psb_iinsvm ! 1-D integer version - subroutine psb_iinsvv(m, x, ix, blck, desc_a, info,& + subroutine psb_iinsvv(m, blck, x, ix, desc_a, info,& & iblck,insflag,dupl) use psb_descriptor_type integer, intent(in) :: m @@ -372,7 +369,7 @@ Module psb_tools_mod integer, optional, intent(in) :: dupl end subroutine psb_iinsvv ! 2-D double precision version - subroutine psb_zins(m, n, x, ix, jx, blck, desc_a, info,& + subroutine psb_zins(m, n, blck, x, ix, jx, desc_a, info,& & iblck, jblck,dupl) use psb_descriptor_type integer, intent(in) :: m,n @@ -385,7 +382,7 @@ Module psb_tools_mod integer, optional, intent(in) :: dupl end subroutine psb_zins ! 2-D double precision square version - subroutine psb_zinsvm(m, x, ix, jx, blck, desc_a,info,& + subroutine psb_zinsvm(m, blck, x, ix, jx, desc_a,info,& & iblck,dupl) use psb_descriptor_type integer, intent(in) :: m @@ -398,7 +395,7 @@ Module psb_tools_mod integer, optional, intent(in) :: dupl end subroutine psb_zinsvm ! 1-D double precision version - subroutine psb_zinsvv(m, x, ix, blck, desc_a, info,& + subroutine psb_zinsvv(m, blck, x, ix, desc_a, info,& & iblck,insflag,dupl) use psb_descriptor_type integer, intent(in) :: m diff --git a/src/serial/Makefile b/src/serial/Makefile index 51fb2e6e..3da00891 100644 --- a/src/serial/Makefile +++ b/src/serial/Makefile @@ -10,7 +10,7 @@ FOBJS = psb_cest.o psb_dcoins.o psb_dcsdp.o psb_dcsmm.o psb_dcsmv.o \ psb_zcsmm.o psb_zcsmv.o psb_zspgtdiag.o psb_zspgtrow.o\ psb_zcsnmi.o psb_zcsrws.o psb_zcssm.o psb_zcssv.o psb_zcsdp.o\ psb_zfixcoo.o psb_zipcoo2csr.o psb_zipcsr2coo.o psb_zipcoo2csc.o \ - psb_zcoins.o psb_zcsprt.o psb_zneigh.o psb_ztransp.o \ + psb_zcoins.o psb_zcsprt.o psb_zneigh.o psb_ztransp.o psb_ztransc.o\ psb_zrwextd.o psb_zsymbmm.o psb_znumbmm.o psb_zspinfo.o psb_zspscal.o\ psb_getifield.o psb_setifield.o