mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 21:02:26 +00:00
psblas3:
base/serial/psb_csymbmm.f90 base/serial/psb_dsymbmm.f90 base/serial/psb_ssymbmm.f90 base/serial/psb_zsymbmm.f90 Restored allocatable CLASS to allocatable TYPE.
This commit is contained in:
@@ -46,7 +46,7 @@ subroutine psb_csymbmm(a,b,c,info)
|
||||
type(psb_cspmat_type), intent(in) :: a,b
|
||||
type(psb_cspmat_type), intent(out) :: c
|
||||
integer, intent(out) :: info
|
||||
class(psb_c_base_sparse_mat), allocatable :: ccsr
|
||||
type(psb_c_csr_sparse_mat), allocatable :: ccsr
|
||||
integer :: err_act
|
||||
character(len=*), parameter :: name='psb_symbmm'
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -58,16 +58,10 @@ subroutine psb_csymbmm(a,b,c,info)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
allocate(psb_c_csr_sparse_mat :: ccsr,stat=info)
|
||||
allocate(ccsr,stat=info)
|
||||
|
||||
if (info == psb_success_) then
|
||||
select type (ccsr)
|
||||
type is (psb_c_csr_sparse_mat)
|
||||
call psb_symbmm(a%a,b%a,ccsr,info)
|
||||
class default
|
||||
! This is impossible
|
||||
info = psb_err_internal_error_
|
||||
end select
|
||||
else
|
||||
info = psb_err_alloc_dealloc_
|
||||
end if
|
||||
|
||||
@@ -46,7 +46,7 @@ subroutine psb_dsymbmm(a,b,c,info)
|
||||
type(psb_dspmat_type), intent(in) :: a,b
|
||||
type(psb_dspmat_type), intent(out) :: c
|
||||
integer, intent(out) :: info
|
||||
class(psb_d_base_sparse_mat), allocatable :: ccsr
|
||||
type(psb_d_csr_sparse_mat), allocatable :: ccsr
|
||||
integer :: err_act
|
||||
character(len=*), parameter :: name='psb_symbmm'
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -58,16 +58,10 @@ subroutine psb_dsymbmm(a,b,c,info)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
allocate(psb_d_csr_sparse_mat :: ccsr,stat=info)
|
||||
allocate(ccsr,stat=info)
|
||||
|
||||
if (info == psb_success_) then
|
||||
select type (ccsr)
|
||||
type is (psb_d_csr_sparse_mat)
|
||||
call psb_symbmm(a%a,b%a,ccsr,info)
|
||||
class default
|
||||
! This is impossible
|
||||
info = psb_err_internal_error_
|
||||
end select
|
||||
else
|
||||
info = psb_err_alloc_dealloc_
|
||||
end if
|
||||
|
||||
@@ -46,7 +46,7 @@ subroutine psb_ssymbmm(a,b,c,info)
|
||||
type(psb_sspmat_type), intent(in) :: a,b
|
||||
type(psb_sspmat_type), intent(out) :: c
|
||||
integer, intent(out) :: info
|
||||
class(psb_s_base_sparse_mat), allocatable :: ccsr
|
||||
type(psb_s_csr_sparse_mat), allocatable :: ccsr
|
||||
integer :: err_act
|
||||
character(len=*), parameter :: name='psb_symbmm'
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -58,16 +58,10 @@ subroutine psb_ssymbmm(a,b,c,info)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
allocate(psb_s_csr_sparse_mat :: ccsr,stat=info)
|
||||
allocate(ccsr,stat=info)
|
||||
|
||||
if (info == psb_success_) then
|
||||
select type (ccsr)
|
||||
type is (psb_s_csr_sparse_mat)
|
||||
call psb_symbmm(a%a,b%a,ccsr,info)
|
||||
class default
|
||||
! This is impossible
|
||||
info = psb_err_internal_error_
|
||||
end select
|
||||
else
|
||||
info = psb_err_alloc_dealloc_
|
||||
end if
|
||||
|
||||
@@ -46,7 +46,7 @@ subroutine psb_zsymbmm(a,b,c,info)
|
||||
type(psb_zspmat_type), intent(in) :: a,b
|
||||
type(psb_zspmat_type), intent(out) :: c
|
||||
integer, intent(out) :: info
|
||||
class(psb_z_base_sparse_mat), allocatable :: ccsr
|
||||
type(psb_z_csr_sparse_mat), allocatable :: ccsr
|
||||
integer :: err_act
|
||||
character(len=*), parameter :: name='psb_symbmm'
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -58,16 +58,10 @@ subroutine psb_zsymbmm(a,b,c,info)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
allocate(psb_z_csr_sparse_mat :: ccsr,stat=info)
|
||||
allocate(ccsr,stat=info)
|
||||
|
||||
if (info == psb_success_) then
|
||||
select type (ccsr)
|
||||
type is (psb_z_csr_sparse_mat)
|
||||
call psb_symbmm(a%a,b%a,ccsr,info)
|
||||
class default
|
||||
! This is impossible
|
||||
info = psb_err_internal_error_
|
||||
end select
|
||||
else
|
||||
info = psb_err_alloc_dealloc_
|
||||
end if
|
||||
|
||||
Reference in New Issue
Block a user