Fixed conversion bug, changed SPASB interface

This commit is contained in:
Salvatore Filippone
2023-01-19 08:36:22 -05:00
parent f09e25524e
commit 86b8a261ef
18 changed files with 125 additions and 69 deletions
+3 -6
View File
@@ -3643,9 +3643,8 @@ subroutine psb_c_ecsr_csmv(alpha,a,x,beta,y,info,trans)
goto 9999
end if
if (((beta == cone).and..not.(tra.or.ctra))&
& .or.(a%is_triangle()).or.(a%is_unit())) then
if ((beta == cone).and.&
& .not.(tra.or.ctra.or.(a%is_triangle()).or.(a%is_unit()))) then
call psb_c_ecsr_csmv_inner(m,n,alpha,a%irp,a%ja,a%val,&
& a%nnerws,a%nerwp,x,y)
else
@@ -3672,9 +3671,6 @@ contains
if (alpha == czero) return
if (alpha == cone) then
!$omp parallel do private(ir,i,j,acc)
do ir=1,nnerws
@@ -3740,6 +3736,7 @@ subroutine psb_c_ecsr_cmp_nerwp(a,info)
end if
end do
call psb_realloc(nnerws,a%nerwp,info)
a%nnerws = nnerws
end subroutine psb_c_ecsr_cmp_nerwp
subroutine psb_c_cp_ecsr_from_coo(a,b,info)
+3 -6
View File
@@ -3643,9 +3643,8 @@ subroutine psb_d_ecsr_csmv(alpha,a,x,beta,y,info,trans)
goto 9999
end if
if (((beta == done).and..not.(tra.or.ctra))&
& .or.(a%is_triangle()).or.(a%is_unit())) then
if ((beta == done).and.&
& .not.(tra.or.ctra.or.(a%is_triangle()).or.(a%is_unit()))) then
call psb_d_ecsr_csmv_inner(m,n,alpha,a%irp,a%ja,a%val,&
& a%nnerws,a%nerwp,x,y)
else
@@ -3672,9 +3671,6 @@ contains
if (alpha == dzero) return
if (alpha == done) then
!$omp parallel do private(ir,i,j,acc)
do ir=1,nnerws
@@ -3740,6 +3736,7 @@ subroutine psb_d_ecsr_cmp_nerwp(a,info)
end if
end do
call psb_realloc(nnerws,a%nerwp,info)
a%nnerws = nnerws
end subroutine psb_d_ecsr_cmp_nerwp
subroutine psb_d_cp_ecsr_from_coo(a,b,info)
+3 -6
View File
@@ -3643,9 +3643,8 @@ subroutine psb_s_ecsr_csmv(alpha,a,x,beta,y,info,trans)
goto 9999
end if
if (((beta == sone).and..not.(tra.or.ctra))&
& .or.(a%is_triangle()).or.(a%is_unit())) then
if ((beta == sone).and.&
& .not.(tra.or.ctra.or.(a%is_triangle()).or.(a%is_unit()))) then
call psb_s_ecsr_csmv_inner(m,n,alpha,a%irp,a%ja,a%val,&
& a%nnerws,a%nerwp,x,y)
else
@@ -3672,9 +3671,6 @@ contains
if (alpha == szero) return
if (alpha == sone) then
!$omp parallel do private(ir,i,j,acc)
do ir=1,nnerws
@@ -3740,6 +3736,7 @@ subroutine psb_s_ecsr_cmp_nerwp(a,info)
end if
end do
call psb_realloc(nnerws,a%nerwp,info)
a%nnerws = nnerws
end subroutine psb_s_ecsr_cmp_nerwp
subroutine psb_s_cp_ecsr_from_coo(a,b,info)
+3 -6
View File
@@ -3643,9 +3643,8 @@ subroutine psb_z_ecsr_csmv(alpha,a,x,beta,y,info,trans)
goto 9999
end if
if (((beta == zone).and..not.(tra.or.ctra))&
& .or.(a%is_triangle()).or.(a%is_unit())) then
if ((beta == zone).and.&
& .not.(tra.or.ctra.or.(a%is_triangle()).or.(a%is_unit()))) then
call psb_z_ecsr_csmv_inner(m,n,alpha,a%irp,a%ja,a%val,&
& a%nnerws,a%nerwp,x,y)
else
@@ -3672,9 +3671,6 @@ contains
if (alpha == zzero) return
if (alpha == zone) then
!$omp parallel do private(ir,i,j,acc)
do ir=1,nnerws
@@ -3740,6 +3736,7 @@ subroutine psb_z_ecsr_cmp_nerwp(a,info)
end if
end do
call psb_realloc(nnerws,a%nerwp,info)
a%nnerws = nnerws
end subroutine psb_z_ecsr_cmp_nerwp
subroutine psb_z_cp_ecsr_from_coo(a,b,info)