Added function for scaled sparse matrix plus identity

merge-paraggr-newops
Cirdans-Home 5 years ago
parent 0ff5321fc1
commit e108416719

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1091,4 +1091,64 @@ contains
res = info res = info
end function end function
function psb_c_cspscal(alpha,ah,cdh) bind(c) result(res)
implicit none
integer(psb_c_ipk_) :: res
complex(c_float_complex), value :: alpha
type(psb_c_cspmat) :: ah
type(psb_c_descriptor) :: cdh
type(psb_desc_type), pointer :: descp
type(psb_cspmat_type), pointer :: ap
integer(psb_c_ipk_) :: info
res = -1
if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp)
else
return
end if
if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap)
else
return
end if
call ap%scal(alpha,info)
res = info
end function psb_c_cspscal
function psb_c_cspscalpid(alpha,ah,cdh) bind(c) result(res)
implicit none
integer(psb_c_ipk_) :: res
complex(c_float_complex), value :: alpha
type(psb_c_cspmat) :: ah
type(psb_c_descriptor) :: cdh
type(psb_desc_type), pointer :: descp
type(psb_cspmat_type), pointer :: ap
integer(psb_c_ipk_) :: info
res = -1
if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp)
else
return
end if
if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap)
else
return
end if
call ap%scalpid(alpha,info)
res = info
end function psb_c_cspscalpid
end module psb_c_psblas_cbind_mod end module psb_c_psblas_cbind_mod

@ -1192,4 +1192,64 @@ contains
res = info res = info
end function end function
function psb_c_dspscal(alpha,ah,cdh) bind(c) result(res)
implicit none
integer(psb_c_ipk_) :: res
real(c_double), value :: alpha
type(psb_c_dspmat) :: ah
type(psb_c_descriptor) :: cdh
type(psb_desc_type), pointer :: descp
type(psb_dspmat_type), pointer :: ap
integer(psb_c_ipk_) :: info
res = -1
if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp)
else
return
end if
if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap)
else
return
end if
call ap%scal(alpha,info)
res = info
end function psb_c_dspscal
function psb_c_dspscalpid(alpha,ah,cdh) bind(c) result(res)
implicit none
integer(psb_c_ipk_) :: res
real(c_double), value :: alpha
type(psb_c_dspmat) :: ah
type(psb_c_descriptor) :: cdh
type(psb_desc_type), pointer :: descp
type(psb_dspmat_type), pointer :: ap
integer(psb_c_ipk_) :: info
res = -1
if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp)
else
return
end if
if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap)
else
return
end if
call ap%scalpid(alpha,info)
res = info
end function psb_c_dspscalpid
end module psb_d_psblas_cbind_mod end module psb_d_psblas_cbind_mod

@ -1192,4 +1192,64 @@ contains
res = info res = info
end function end function
function psb_c_sspscal(alpha,ah,cdh) bind(c) result(res)
implicit none
integer(psb_c_ipk_) :: res
real(c_float), value :: alpha
type(psb_c_sspmat) :: ah
type(psb_c_descriptor) :: cdh
type(psb_desc_type), pointer :: descp
type(psb_sspmat_type), pointer :: ap
integer(psb_c_ipk_) :: info
res = -1
if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp)
else
return
end if
if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap)
else
return
end if
call ap%scal(alpha,info)
res = info
end function psb_c_sspscal
function psb_c_sspscalpid(alpha,ah,cdh) bind(c) result(res)
implicit none
integer(psb_c_ipk_) :: res
real(c_float), value :: alpha
type(psb_c_sspmat) :: ah
type(psb_c_descriptor) :: cdh
type(psb_desc_type), pointer :: descp
type(psb_sspmat_type), pointer :: ap
integer(psb_c_ipk_) :: info
res = -1
if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp)
else
return
end if
if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap)
else
return
end if
call ap%scalpid(alpha,info)
res = info
end function psb_c_sspscalpid
end module psb_s_psblas_cbind_mod end module psb_s_psblas_cbind_mod

@ -1091,4 +1091,64 @@ contains
res = info res = info
end function end function
function psb_c_zspscal(alpha,ah,cdh) bind(c) result(res)
implicit none
integer(psb_c_ipk_) :: res
complex(c_double_complex), value :: alpha
type(psb_c_zspmat) :: ah
type(psb_c_descriptor) :: cdh
type(psb_desc_type), pointer :: descp
type(psb_zspmat_type), pointer :: ap
integer(psb_c_ipk_) :: info
res = -1
if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp)
else
return
end if
if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap)
else
return
end if
call ap%scal(alpha,info)
res = info
end function psb_c_zspscal
function psb_c_zspscalpid(alpha,ah,cdh) bind(c) result(res)
implicit none
integer(psb_c_ipk_) :: res
complex(c_double_complex), value :: alpha
type(psb_c_zspmat) :: ah
type(psb_c_descriptor) :: cdh
type(psb_desc_type), pointer :: descp
type(psb_zspmat_type), pointer :: ap
integer(psb_c_ipk_) :: info
res = -1
if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp)
else
return
end if
if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap)
else
return
end if
call ap%scalpid(alpha,info)
res = info
end function psb_c_zspscalpid
end module psb_z_psblas_cbind_mod end module psb_z_psblas_cbind_mod

Loading…
Cancel
Save