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:
Salvatore Filippone
2011-01-05 15:36:49 +00:00
parent 724b09620c
commit d4d408f950
9 changed files with 85 additions and 71 deletions
+9 -6
View File
@@ -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)