mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 21:02:26 +00:00
psblas3:
base/serial/impl/psb_c_csc_impl.f90 base/serial/impl/psb_c_csr_impl.f90 base/serial/impl/psb_d_csc_impl.f90 base/serial/impl/psb_d_csr_impl.f90 base/serial/impl/psb_s_csc_impl.f90 base/serial/impl/psb_s_csr_impl.f90 base/serial/impl/psb_z_csc_impl.f90 base/serial/impl/psb_z_csr_impl.f90 base/tools/psb_linmap.f90 Workaround allocate-on-assignment problems.
This commit is contained in:
@@ -2464,6 +2464,7 @@ end subroutine psb_s_mv_csr_to_fmt
|
||||
subroutine psb_s_cp_csr_to_fmt(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_s_base_mat_mod
|
||||
use psb_realloc_mod
|
||||
use psb_s_csr_mat_mod, psb_protect_name => psb_s_cp_csr_to_fmt
|
||||
implicit none
|
||||
|
||||
@@ -2488,9 +2489,9 @@ subroutine psb_s_cp_csr_to_fmt(a,b,info)
|
||||
|
||||
type is (psb_s_csr_sparse_mat)
|
||||
call b%psb_s_base_sparse_mat%cp_from(a%psb_s_base_sparse_mat)
|
||||
b%irp = a%irp
|
||||
b%ja = a%ja
|
||||
b%val = a%val
|
||||
call psb_safe_cpy( a%irp, b%irp , info)
|
||||
call psb_safe_cpy( a%ja , b%ja , info)
|
||||
call psb_safe_cpy( a%val, b%val , info)
|
||||
|
||||
class default
|
||||
call a%cp_to_coo(tmp,info)
|
||||
@@ -2580,6 +2581,7 @@ end subroutine psb_s_cp_csr_from_fmt
|
||||
|
||||
subroutine psb_s_csr_cp_from(a,b)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psb_s_csr_mat_mod, psb_protect_name => psb_s_csr_cp_from
|
||||
implicit none
|
||||
|
||||
@@ -2597,9 +2599,10 @@ subroutine psb_s_csr_cp_from(a,b)
|
||||
|
||||
call a%allocate(b%get_nrows(),b%get_ncols(),b%get_nzeros())
|
||||
call a%psb_s_base_sparse_mat%cp_from(b%psb_s_base_sparse_mat)
|
||||
a%irp = b%irp
|
||||
a%ja = b%ja
|
||||
a%val = b%val
|
||||
call psb_safe_cpy( b%irp, a%irp , info)
|
||||
call psb_safe_cpy( b%ja , a%ja , info)
|
||||
call psb_safe_cpy( b%val, a%val , info)
|
||||
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
|
||||
Reference in New Issue
Block a user