|
|
@ -2486,6 +2486,41 @@ subroutine psb_c_scalplusidentity(d,a,info)
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_c_scalplusidentity
|
|
|
|
end subroutine psb_c_scalplusidentity
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psb_c_spaxpby(alpha,a,beta,b,info)
|
|
|
|
|
|
|
|
use psb_error_mod
|
|
|
|
|
|
|
|
use psb_const_mod
|
|
|
|
|
|
|
|
use psb_c_mat_mod, psb_protect_name => psb_c_spaxpby
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
complex(psb_spk_), intent(in) :: alpha
|
|
|
|
|
|
|
|
class(psb_cspmat_type), intent(inout) :: a
|
|
|
|
|
|
|
|
complex(psb_spk_), intent(in) :: beta
|
|
|
|
|
|
|
|
class(psb_cspmat_type), intent(inout) :: b
|
|
|
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
|
|
|
character(len=20) :: name='spaxby'
|
|
|
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
info = psb_success_
|
|
|
|
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
|
|
|
|
if (.not.allocated(a%a)) then
|
|
|
|
|
|
|
|
info = psb_err_invalid_mat_state_
|
|
|
|
|
|
|
|
call psb_errpush(info,name)
|
|
|
|
|
|
|
|
goto 9999
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call a%a%spaxpby(alpha,beta,b%a,info)
|
|
|
|
|
|
|
|
if (info /= psb_success_) goto 9999
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call psb_erractionrestore(err_act)
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9999 call psb_error_handler(err_act)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_c_spaxpby
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psb_c_mv_from_lb(a,b)
|
|
|
|
subroutine psb_c_mv_from_lb(a,b)
|
|
|
|
use psb_error_mod
|
|
|
|
use psb_error_mod
|
|
|
|
use psb_const_mod
|
|
|
|
use psb_const_mod
|
|
|
@ -4617,6 +4652,74 @@ subroutine psb_lc_scals(d,a,info)
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_lc_scals
|
|
|
|
end subroutine psb_lc_scals
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psb_lc_scalplusidentity(d,a,info)
|
|
|
|
|
|
|
|
use psb_error_mod
|
|
|
|
|
|
|
|
use psb_const_mod
|
|
|
|
|
|
|
|
use psb_c_mat_mod, psb_protect_name => psb_lc_scalplusidentity
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
class(psb_lcspmat_type), intent(inout) :: a
|
|
|
|
|
|
|
|
complex(psb_spk_), intent(in) :: d
|
|
|
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
|
|
|
character(len=20) :: name='scalplusidentity'
|
|
|
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
info = psb_success_
|
|
|
|
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
|
|
|
|
if (.not.allocated(a%a)) then
|
|
|
|
|
|
|
|
info = psb_err_invalid_mat_state_
|
|
|
|
|
|
|
|
call psb_errpush(info,name)
|
|
|
|
|
|
|
|
goto 9999
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call a%a%scalpid(d,info)
|
|
|
|
|
|
|
|
if (info /= psb_success_) goto 9999
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call psb_erractionrestore(err_act)
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9999 call psb_error_handler(err_act)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_lc_scalplusidentity
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psb_lc_spaxpby(alpha,a,beta,b,info)
|
|
|
|
|
|
|
|
use psb_error_mod
|
|
|
|
|
|
|
|
use psb_const_mod
|
|
|
|
|
|
|
|
use psb_c_mat_mod, psb_protect_name => psb_lc_spaxpby
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
complex(psb_spk_), intent(in) :: alpha
|
|
|
|
|
|
|
|
class(psb_lcspmat_type), intent(inout) :: a
|
|
|
|
|
|
|
|
complex(psb_spk_), intent(in) :: beta
|
|
|
|
|
|
|
|
class(psb_lcspmat_type), intent(inout) :: b
|
|
|
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
|
|
|
character(len=20) :: name='spaxby'
|
|
|
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
info = psb_success_
|
|
|
|
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
|
|
|
|
if (.not.allocated(a%a)) then
|
|
|
|
|
|
|
|
info = psb_err_invalid_mat_state_
|
|
|
|
|
|
|
|
call psb_errpush(info,name)
|
|
|
|
|
|
|
|
goto 9999
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call a%a%spaxpby(alpha,beta,b%a,info)
|
|
|
|
|
|
|
|
if (info /= psb_success_) goto 9999
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call psb_erractionrestore(err_act)
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9999 call psb_error_handler(err_act)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_lc_spaxpby
|
|
|
|
|
|
|
|
|
|
|
|
function psb_lc_maxval(a) result(res)
|
|
|
|
function psb_lc_maxval(a) result(res)
|
|
|
|
use psb_c_mat_mod, psb_protect_name => psb_lc_maxval
|
|
|
|
use psb_c_mat_mod, psb_protect_name => psb_lc_maxval
|
|
|
|
use psb_error_mod
|
|
|
|
use psb_error_mod
|
|
|
|