diff --git a/base/serial/impl/psb_c_csc_impl.f90 b/base/serial/impl/psb_c_csc_impl.f90 index 23e8f4a8..d9483937 100644 --- a/base/serial/impl/psb_c_csc_impl.f90 +++ b/base/serial/impl/psb_c_csc_impl.f90 @@ -2298,7 +2298,7 @@ subroutine psb_c_mv_csc_from_coo(a,b,info) call move_alloc(b%ja,itemp) call move_alloc(b%ia,a%ia) call move_alloc(b%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%icp,info) + call psb_realloc(nc+1,a%icp,info) call b%free() a%icp(:) = 0 diff --git a/base/serial/impl/psb_c_csr_impl.f90 b/base/serial/impl/psb_c_csr_impl.f90 index e248c5e1..472f0a8f 100644 --- a/base/serial/impl/psb_c_csr_impl.f90 +++ b/base/serial/impl/psb_c_csr_impl.f90 @@ -999,8 +999,6 @@ contains end subroutine psb_c_csr_cssv - - subroutine psb_c_csr_cssm(alpha,a,x,beta,y,info,trans) use psb_error_mod use psb_string_mod @@ -2962,7 +2960,7 @@ subroutine psb_c_cp_csr_from_coo(a,b,info) call move_alloc(tmp%ia,itemp) call move_alloc(tmp%ja,a%ja) call move_alloc(tmp%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%irp,info) + call psb_realloc(nr+1,a%irp,info) call tmp%free() else @@ -3131,7 +3129,7 @@ subroutine psb_c_mv_csr_from_coo(a,b,info) call move_alloc(b%ia,itemp) call move_alloc(b%ja,a%ja) call move_alloc(b%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%irp,info) + call psb_realloc(nr+1,a%irp,info) call b%free() @@ -3386,7 +3384,7 @@ subroutine psb_ccsrspspmm(a,b,c,info) ! Estimate number of nonzeros on output. nza = a%get_nzeros() nzb = b%get_nzeros() - nzc = 2*(nza+nzb) + nzc = int(1.25*(nza+nzb)) call c%allocate(ma,nb,nzc) call csr_spspmm(a,b,c,info) diff --git a/base/serial/impl/psb_d_csc_impl.f90 b/base/serial/impl/psb_d_csc_impl.f90 index ef68164d..25085229 100644 --- a/base/serial/impl/psb_d_csc_impl.f90 +++ b/base/serial/impl/psb_d_csc_impl.f90 @@ -2298,7 +2298,7 @@ subroutine psb_d_mv_csc_from_coo(a,b,info) call move_alloc(b%ja,itemp) call move_alloc(b%ia,a%ia) call move_alloc(b%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%icp,info) + call psb_realloc(nc+1,a%icp,info) call b%free() a%icp(:) = 0 diff --git a/base/serial/impl/psb_d_csr_impl.f90 b/base/serial/impl/psb_d_csr_impl.f90 index a6fb0b18..d06c4649 100644 --- a/base/serial/impl/psb_d_csr_impl.f90 +++ b/base/serial/impl/psb_d_csr_impl.f90 @@ -999,8 +999,6 @@ contains end subroutine psb_d_csr_cssv - - subroutine psb_d_csr_cssm(alpha,a,x,beta,y,info,trans) use psb_error_mod use psb_string_mod @@ -2962,7 +2960,7 @@ subroutine psb_d_cp_csr_from_coo(a,b,info) call move_alloc(tmp%ia,itemp) call move_alloc(tmp%ja,a%ja) call move_alloc(tmp%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%irp,info) + call psb_realloc(nr+1,a%irp,info) call tmp%free() else @@ -3131,7 +3129,7 @@ subroutine psb_d_mv_csr_from_coo(a,b,info) call move_alloc(b%ia,itemp) call move_alloc(b%ja,a%ja) call move_alloc(b%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%irp,info) + call psb_realloc(nr+1,a%irp,info) call b%free() @@ -3386,7 +3384,7 @@ subroutine psb_dcsrspspmm(a,b,c,info) ! Estimate number of nonzeros on output. nza = a%get_nzeros() nzb = b%get_nzeros() - nzc = 2*(nza+nzb) + nzc = int(1.25*(nza+nzb)) call c%allocate(ma,nb,nzc) call csr_spspmm(a,b,c,info) diff --git a/base/serial/impl/psb_s_csc_impl.f90 b/base/serial/impl/psb_s_csc_impl.f90 index 6318db9d..6eb0d830 100644 --- a/base/serial/impl/psb_s_csc_impl.f90 +++ b/base/serial/impl/psb_s_csc_impl.f90 @@ -2298,7 +2298,7 @@ subroutine psb_s_mv_csc_from_coo(a,b,info) call move_alloc(b%ja,itemp) call move_alloc(b%ia,a%ia) call move_alloc(b%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%icp,info) + call psb_realloc(nc+1,a%icp,info) call b%free() a%icp(:) = 0 diff --git a/base/serial/impl/psb_s_csr_impl.f90 b/base/serial/impl/psb_s_csr_impl.f90 index a5bca393..e2fc8298 100644 --- a/base/serial/impl/psb_s_csr_impl.f90 +++ b/base/serial/impl/psb_s_csr_impl.f90 @@ -999,8 +999,6 @@ contains end subroutine psb_s_csr_cssv - - subroutine psb_s_csr_cssm(alpha,a,x,beta,y,info,trans) use psb_error_mod use psb_string_mod @@ -2962,7 +2960,7 @@ subroutine psb_s_cp_csr_from_coo(a,b,info) call move_alloc(tmp%ia,itemp) call move_alloc(tmp%ja,a%ja) call move_alloc(tmp%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%irp,info) + call psb_realloc(nr+1,a%irp,info) call tmp%free() else @@ -3131,7 +3129,7 @@ subroutine psb_s_mv_csr_from_coo(a,b,info) call move_alloc(b%ia,itemp) call move_alloc(b%ja,a%ja) call move_alloc(b%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%irp,info) + call psb_realloc(nr+1,a%irp,info) call b%free() @@ -3386,7 +3384,7 @@ subroutine psb_scsrspspmm(a,b,c,info) ! Estimate number of nonzeros on output. nza = a%get_nzeros() nzb = b%get_nzeros() - nzc = 2*(nza+nzb) + nzc = int(1.25*(nza+nzb)) call c%allocate(ma,nb,nzc) call csr_spspmm(a,b,c,info) diff --git a/base/serial/impl/psb_z_csc_impl.f90 b/base/serial/impl/psb_z_csc_impl.f90 index bd14f8a3..2d0fa913 100644 --- a/base/serial/impl/psb_z_csc_impl.f90 +++ b/base/serial/impl/psb_z_csc_impl.f90 @@ -2298,7 +2298,7 @@ subroutine psb_z_mv_csc_from_coo(a,b,info) call move_alloc(b%ja,itemp) call move_alloc(b%ia,a%ia) call move_alloc(b%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%icp,info) + call psb_realloc(nc+1,a%icp,info) call b%free() a%icp(:) = 0 diff --git a/base/serial/impl/psb_z_csr_impl.f90 b/base/serial/impl/psb_z_csr_impl.f90 index b258eaac..015931c6 100644 --- a/base/serial/impl/psb_z_csr_impl.f90 +++ b/base/serial/impl/psb_z_csr_impl.f90 @@ -999,8 +999,6 @@ contains end subroutine psb_z_csr_cssv - - subroutine psb_z_csr_cssm(alpha,a,x,beta,y,info,trans) use psb_error_mod use psb_string_mod @@ -2962,7 +2960,7 @@ subroutine psb_z_cp_csr_from_coo(a,b,info) call move_alloc(tmp%ia,itemp) call move_alloc(tmp%ja,a%ja) call move_alloc(tmp%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%irp,info) + call psb_realloc(nr+1,a%irp,info) call tmp%free() else @@ -3131,7 +3129,7 @@ subroutine psb_z_mv_csr_from_coo(a,b,info) call move_alloc(b%ia,itemp) call move_alloc(b%ja,a%ja) call move_alloc(b%val,a%val) - call psb_realloc(max(nr+1,nc+1),a%irp,info) + call psb_realloc(nr+1,a%irp,info) call b%free() @@ -3386,7 +3384,7 @@ subroutine psb_zcsrspspmm(a,b,c,info) ! Estimate number of nonzeros on output. nza = a%get_nzeros() nzb = b%get_nzeros() - nzc = 2*(nza+nzb) + nzc = int(1.25*(nza+nzb)) call c%allocate(ma,nb,nzc) call csr_spspmm(a,b,c,info)