diff --git a/base/modules/psb_c_base_mat_mod.f03 b/base/modules/psb_c_base_mat_mod.f03 index fc7585b1..ca40d8fc 100644 --- a/base/modules/psb_c_base_mat_mod.f03 +++ b/base/modules/psb_c_base_mat_mod.f03 @@ -902,7 +902,7 @@ contains end subroutine c_base_cssv - subroutine c_cssm(alpha,a,x,beta,y,info,trans,side,d) + subroutine c_cssm(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod use psb_string_mod implicit none @@ -910,12 +910,12 @@ contains complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(inout) :: y(:,:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale complex(psb_spk_), intent(in), optional :: d(:) complex(psb_spk_), allocatable :: tmp(:,:) Integer :: err_act, nar,nac,nc, i - character(len=1) :: side_ + character(len=1) :: scale_ character(len=20) :: name='c_cssm' logical, parameter :: debug=.false. @@ -948,13 +948,13 @@ contains end if if (present(d)) then - if (present(side)) then - side_ = side + if (present(scale)) then + scale_ = scale else - side_ = 'L' + scale_ = 'L' end if - if (psb_toupper(side_) == 'R') then + if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then info = 36 call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) @@ -976,7 +976,7 @@ contains if (info /= 0) info = 4000 end if - else if (psb_toupper(side_) == 'L') then + else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then info = 36 @@ -1004,11 +1004,11 @@ contains else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=side_) + call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) goto 9999 end if else - ! Side is ignored in this case + ! Scale is ignored in this case call a%base_cssm(alpha,x,beta,y,info,trans) end if @@ -1036,7 +1036,7 @@ contains end subroutine c_cssm - subroutine c_cssv(alpha,a,x,beta,y,info,trans,side,d) + subroutine c_cssv(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod use psb_string_mod implicit none @@ -1044,12 +1044,12 @@ contains complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(inout) :: y(:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale complex(psb_spk_), intent(in), optional :: d(:) complex(psb_spk_), allocatable :: tmp(:) Integer :: err_act, nar,nac,nc, i - character(len=1) :: side_ + character(len=1) :: scale_ character(len=20) :: name='c_cssm' logical, parameter :: debug=.false. @@ -1082,13 +1082,13 @@ contains end if if (present(d)) then - if (present(side)) then - side_ = side + if (present(scale)) then + scale_ = scale else - side_ = 'L' + scale_ = 'L' end if - if (psb_toupper(side_) == 'R') then + if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then info = 36 call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) @@ -1106,7 +1106,7 @@ contains if (info /= 0) info = 4000 end if - else if (psb_toupper(side_) == 'L') then + else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then info = 36 call psb_errpush(info,name,i_err=(/9,nar,0,0,0/)) @@ -1129,11 +1129,11 @@ contains else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=side_) + call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) goto 9999 end if else - ! Side is ignored in this case + ! Scale is ignored in this case call a%base_cssm(alpha,x,beta,y,info,trans) end if diff --git a/base/modules/psb_c_mat_mod.f03 b/base/modules/psb_c_mat_mod.f03 index f3afd33c..6773c194 100644 --- a/base/modules/psb_c_mat_mod.f03 +++ b/base/modules/psb_c_mat_mod.f03 @@ -1699,14 +1699,14 @@ contains end subroutine c_csmv - subroutine c_cssm(alpha,a,x,beta,y,info,trans,side,d) + subroutine c_cssm(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod implicit none class(psb_c_sparse_mat), intent(in) :: a complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(inout) :: y(:,:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale complex(psb_spk_), intent(in), optional :: d(:) Integer :: err_act character(len=20) :: name='psb_cssm' @@ -1720,7 +1720,7 @@ contains goto 9999 endif - call a%a%cssm(alpha,x,beta,y,info,trans,side,d) + call a%a%cssm(alpha,x,beta,y,info,trans,scale,d) if (info /= 0) goto 9999 call psb_erractionrestore(err_act) @@ -1737,14 +1737,14 @@ contains end subroutine c_cssm - subroutine c_cssv(alpha,a,x,beta,y,info,trans,side,d) + subroutine c_cssv(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod implicit none class(psb_c_sparse_mat), intent(in) :: a complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(inout) :: y(:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale complex(psb_spk_), intent(in), optional :: d(:) Integer :: err_act character(len=20) :: name='psb_cssv' @@ -1758,7 +1758,7 @@ contains goto 9999 endif - call a%a%cssm(alpha,x,beta,y,info,trans,side,d) + call a%a%cssm(alpha,x,beta,y,info,trans,scale,d) if (info /= 0) goto 9999 diff --git a/base/modules/psb_d_base_mat_mod.f03 b/base/modules/psb_d_base_mat_mod.f03 index d5710f64..9b14821a 100644 --- a/base/modules/psb_d_base_mat_mod.f03 +++ b/base/modules/psb_d_base_mat_mod.f03 @@ -902,7 +902,7 @@ contains end subroutine d_base_cssv - subroutine d_cssm(alpha,a,x,beta,y,info,trans,side,d) + subroutine d_cssm(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod use psb_string_mod implicit none @@ -910,12 +910,12 @@ contains real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(inout) :: y(:,:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale real(psb_dpk_), intent(in), optional :: d(:) real(psb_dpk_), allocatable :: tmp(:,:) Integer :: err_act, nar,nac,nc, i - character(len=1) :: side_ + character(len=1) :: scale_ character(len=20) :: name='d_cssm' logical, parameter :: debug=.false. @@ -948,13 +948,13 @@ contains end if if (present(d)) then - if (present(side)) then - side_ = side + if (present(scale)) then + scale_ = scale else - side_ = 'L' + scale_ = 'L' end if - if (psb_toupper(side_) == 'R') then + if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then info = 36 call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) @@ -976,7 +976,7 @@ contains if (info /= 0) info = 4000 end if - else if (psb_toupper(side_) == 'L') then + else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then info = 36 @@ -1004,11 +1004,11 @@ contains else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=side_) + call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) goto 9999 end if else - ! Side is ignored in this case + ! Scale is ignored in this case call a%base_cssm(alpha,x,beta,y,info,trans) end if @@ -1036,7 +1036,7 @@ contains end subroutine d_cssm - subroutine d_cssv(alpha,a,x,beta,y,info,trans,side,d) + subroutine d_cssv(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod use psb_string_mod implicit none @@ -1044,12 +1044,12 @@ contains real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(inout) :: y(:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale real(psb_dpk_), intent(in), optional :: d(:) real(psb_dpk_), allocatable :: tmp(:) Integer :: err_act, nar,nac,nc, i - character(len=1) :: side_ + character(len=1) :: scale_ character(len=20) :: name='d_cssm' logical, parameter :: debug=.false. @@ -1082,13 +1082,13 @@ contains end if if (present(d)) then - if (present(side)) then - side_ = side + if (present(scale)) then + scale_ = scale else - side_ = 'L' + scale_ = 'L' end if - if (psb_toupper(side_) == 'R') then + if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then info = 36 call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) @@ -1106,7 +1106,7 @@ contains if (info /= 0) info = 4000 end if - else if (psb_toupper(side_) == 'L') then + else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then info = 36 call psb_errpush(info,name,i_err=(/9,nar,0,0,0/)) @@ -1129,11 +1129,11 @@ contains else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=side_) + call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) goto 9999 end if else - ! Side is ignored in this case + ! Scale is ignored in this case call a%base_cssm(alpha,x,beta,y,info,trans) end if diff --git a/base/modules/psb_d_mat_mod.f03 b/base/modules/psb_d_mat_mod.f03 index e4eb61ba..3d5d6e02 100644 --- a/base/modules/psb_d_mat_mod.f03 +++ b/base/modules/psb_d_mat_mod.f03 @@ -1699,14 +1699,14 @@ contains end subroutine d_csmv - subroutine d_cssm(alpha,a,x,beta,y,info,trans,side,d) + subroutine d_cssm(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod implicit none class(psb_d_sparse_mat), intent(in) :: a real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(inout) :: y(:,:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale real(psb_dpk_), intent(in), optional :: d(:) Integer :: err_act character(len=20) :: name='psb_cssm' @@ -1720,7 +1720,7 @@ contains goto 9999 endif - call a%a%cssm(alpha,x,beta,y,info,trans,side,d) + call a%a%cssm(alpha,x,beta,y,info,trans,scale,d) if (info /= 0) goto 9999 call psb_erractionrestore(err_act) @@ -1737,14 +1737,14 @@ contains end subroutine d_cssm - subroutine d_cssv(alpha,a,x,beta,y,info,trans,side,d) + subroutine d_cssv(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod implicit none class(psb_d_sparse_mat), intent(in) :: a real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(inout) :: y(:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale real(psb_dpk_), intent(in), optional :: d(:) Integer :: err_act character(len=20) :: name='psb_cssv' @@ -1758,7 +1758,7 @@ contains goto 9999 endif - call a%a%cssm(alpha,x,beta,y,info,trans,side,d) + call a%a%cssm(alpha,x,beta,y,info,trans,scale,d) if (info /= 0) goto 9999 diff --git a/base/modules/psb_psblas_mod.f90 b/base/modules/psb_psblas_mod.f90 index 22ea11d3..ec2544de 100644 --- a/base/modules/psb_psblas_mod.f90 +++ b/base/modules/psb_psblas_mod.f90 @@ -745,7 +745,7 @@ module psb_psblas_mod interface psb_spsm subroutine psb_sspsm(alpha, t, x, beta, y,& - & desc_a, info, trans, side, choice,& + & desc_a, info, trans, scale, choice,& & diag, n, jx, jy, work) use psb_serial_mod use psb_descriptor_type @@ -755,14 +755,14 @@ module psb_psblas_mod real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(in) :: alpha, beta type(psb_desc_type), intent(in) :: desc_a - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale integer, optional, intent(in) :: n, jx, jy integer, optional, intent(in) :: choice real(psb_spk_), optional, intent(in),target :: work(:), diag(:) integer, intent(out) :: info end subroutine psb_sspsm subroutine psb_sspsv(alpha, t, x, beta, y,& - & desc_a, info, trans, side, choice,& + & desc_a, info, trans, scale, choice,& & diag, work) use psb_serial_mod use psb_descriptor_type @@ -772,13 +772,13 @@ module psb_psblas_mod real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(in) :: alpha, beta type(psb_desc_type), intent(in) :: desc_a - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale integer, optional, intent(in) :: choice real(psb_spk_), optional, intent(in),target :: work(:), diag(:) integer, intent(out) :: info end subroutine psb_sspsv subroutine psb_dspsm(alpha, t, x, beta, y,& - & desc_a, info, trans, side, choice,& + & desc_a, info, trans, scale, choice,& & diag, n, jx, jy, work) use psb_serial_mod use psb_descriptor_type @@ -788,14 +788,14 @@ module psb_psblas_mod real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(in) :: alpha, beta type(psb_desc_type), intent(in) :: desc_a - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale integer, optional, intent(in) :: n, jx, jy integer, optional, intent(in) :: choice real(psb_dpk_), optional, intent(in),target :: work(:), diag(:) integer, intent(out) :: info end subroutine psb_dspsm subroutine psb_dspsv(alpha, t, x, beta, y,& - & desc_a, info, trans, side, choice,& + & desc_a, info, trans, scale, choice,& & diag, work) use psb_serial_mod use psb_descriptor_type @@ -805,13 +805,13 @@ module psb_psblas_mod real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(in) :: alpha, beta type(psb_desc_type), intent(in) :: desc_a - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale integer, optional, intent(in) :: choice real(psb_dpk_), optional, intent(in),target :: work(:), diag(:) integer, intent(out) :: info end subroutine psb_dspsv subroutine psb_cspsm(alpha, t, x, beta, y,& - & desc_a, info, trans, side, choice,& + & desc_a, info, trans, scale, choice,& & diag, n, jx, jy, work) use psb_serial_mod use psb_descriptor_type @@ -821,14 +821,14 @@ module psb_psblas_mod complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(in) :: alpha, beta type(psb_desc_type), intent(in) :: desc_a - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale integer, optional, intent(in) :: n, jx, jy integer, optional, intent(in) :: choice complex(psb_spk_), optional, intent(in),target :: work(:), diag(:) integer, intent(out) :: info end subroutine psb_cspsm subroutine psb_cspsv(alpha, t, x, beta, y,& - & desc_a, info, trans, side, choice,& + & desc_a, info, trans, scale, choice,& & diag, work) use psb_serial_mod use psb_descriptor_type @@ -838,13 +838,13 @@ module psb_psblas_mod complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(in) :: alpha, beta type(psb_desc_type), intent(in) :: desc_a - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale integer, optional, intent(in) :: choice complex(psb_spk_), optional, intent(in),target :: work(:), diag(:) integer, intent(out) :: info end subroutine psb_cspsv subroutine psb_zspsm(alpha, t, x, beta, y,& - & desc_a, info, trans, side, choice,& + & desc_a, info, trans, scale, choice,& & diag, n, jx, jy, work) use psb_serial_mod use psb_descriptor_type @@ -854,14 +854,14 @@ module psb_psblas_mod complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(in) :: alpha, beta type(psb_desc_type), intent(in) :: desc_a - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale integer, optional, intent(in) :: n, jx, jy integer, optional, intent(in) :: choice complex(psb_dpk_), optional, intent(in),target :: work(:), diag(:) integer, intent(out) :: info end subroutine psb_zspsm subroutine psb_zspsv(alpha, t, x, beta, y,& - & desc_a, info, trans, side, choice,& + & desc_a, info, trans, scale, choice,& & diag, work) use psb_serial_mod use psb_descriptor_type @@ -871,7 +871,7 @@ module psb_psblas_mod complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(in) :: alpha, beta type(psb_desc_type), intent(in) :: desc_a - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale integer, optional, intent(in) :: choice complex(psb_dpk_), optional, intent(in),target :: work(:), diag(:) integer, intent(out) :: info diff --git a/base/modules/psb_s_base_mat_mod.f03 b/base/modules/psb_s_base_mat_mod.f03 index d4351b39..8f453cb2 100644 --- a/base/modules/psb_s_base_mat_mod.f03 +++ b/base/modules/psb_s_base_mat_mod.f03 @@ -902,7 +902,7 @@ contains end subroutine s_base_cssv - subroutine s_cssm(alpha,a,x,beta,y,info,trans,side,d) + subroutine s_cssm(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod use psb_string_mod implicit none @@ -910,12 +910,12 @@ contains real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(inout) :: y(:,:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale real(psb_spk_), intent(in), optional :: d(:) real(psb_spk_), allocatable :: tmp(:,:) Integer :: err_act, nar,nac,nc, i - character(len=1) :: side_ + character(len=1) :: scale_ character(len=20) :: name='s_cssm' logical, parameter :: debug=.false. @@ -948,13 +948,13 @@ contains end if if (present(d)) then - if (present(side)) then - side_ = side + if (present(scale)) then + scale_ = scale else - side_ = 'L' + scale_ = 'L' end if - if (psb_toupper(side_) == 'R') then + if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then info = 36 call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) @@ -976,7 +976,7 @@ contains if (info /= 0) info = 4000 end if - else if (psb_toupper(side_) == 'L') then + else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then info = 36 @@ -1004,11 +1004,11 @@ contains else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=side_) + call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) goto 9999 end if else - ! Side is ignored in this case + ! Scale is ignored in this case call a%base_cssm(alpha,x,beta,y,info,trans) end if @@ -1036,7 +1036,7 @@ contains end subroutine s_cssm - subroutine s_cssv(alpha,a,x,beta,y,info,trans,side,d) + subroutine s_cssv(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod use psb_string_mod implicit none @@ -1044,12 +1044,12 @@ contains real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(inout) :: y(:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale real(psb_spk_), intent(in), optional :: d(:) real(psb_spk_), allocatable :: tmp(:) Integer :: err_act, nar,nac,nc, i - character(len=1) :: side_ + character(len=1) :: scale_ character(len=20) :: name='s_cssm' logical, parameter :: debug=.false. @@ -1082,13 +1082,13 @@ contains end if if (present(d)) then - if (present(side)) then - side_ = side + if (present(scale)) then + scale_ = scale else - side_ = 'L' + scale_ = 'L' end if - if (psb_toupper(side_) == 'R') then + if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then info = 36 call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) @@ -1106,7 +1106,7 @@ contains if (info /= 0) info = 4000 end if - else if (psb_toupper(side_) == 'L') then + else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then info = 36 call psb_errpush(info,name,i_err=(/9,nar,0,0,0/)) @@ -1129,11 +1129,11 @@ contains else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=side_) + call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) goto 9999 end if else - ! Side is ignored in this case + ! Scale is ignored in this case call a%base_cssm(alpha,x,beta,y,info,trans) end if diff --git a/base/modules/psb_s_mat_mod.f03 b/base/modules/psb_s_mat_mod.f03 index 6d83169b..ed673927 100644 --- a/base/modules/psb_s_mat_mod.f03 +++ b/base/modules/psb_s_mat_mod.f03 @@ -1699,14 +1699,14 @@ contains end subroutine s_csmv - subroutine s_cssm(alpha,a,x,beta,y,info,trans,side,d) + subroutine s_cssm(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod implicit none class(psb_s_sparse_mat), intent(in) :: a real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(inout) :: y(:,:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale real(psb_spk_), intent(in), optional :: d(:) Integer :: err_act character(len=20) :: name='psb_cssm' @@ -1720,7 +1720,7 @@ contains goto 9999 endif - call a%a%cssm(alpha,x,beta,y,info,trans,side,d) + call a%a%cssm(alpha,x,beta,y,info,trans,scale,d) if (info /= 0) goto 9999 call psb_erractionrestore(err_act) @@ -1737,14 +1737,14 @@ contains end subroutine s_cssm - subroutine s_cssv(alpha,a,x,beta,y,info,trans,side,d) + subroutine s_cssv(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod implicit none class(psb_s_sparse_mat), intent(in) :: a real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(inout) :: y(:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale real(psb_spk_), intent(in), optional :: d(:) Integer :: err_act character(len=20) :: name='psb_cssv' @@ -1758,7 +1758,7 @@ contains goto 9999 endif - call a%a%cssm(alpha,x,beta,y,info,trans,side,d) + call a%a%cssm(alpha,x,beta,y,info,trans,scale,d) if (info /= 0) goto 9999 diff --git a/base/modules/psb_z_base_mat_mod.f03 b/base/modules/psb_z_base_mat_mod.f03 index 37246126..95d860ee 100644 --- a/base/modules/psb_z_base_mat_mod.f03 +++ b/base/modules/psb_z_base_mat_mod.f03 @@ -902,7 +902,7 @@ contains end subroutine z_base_cssv - subroutine z_cssm(alpha,a,x,beta,y,info,trans,side,d) + subroutine z_cssm(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod use psb_string_mod implicit none @@ -910,12 +910,12 @@ contains complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(inout) :: y(:,:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale complex(psb_dpk_), intent(in), optional :: d(:) complex(psb_dpk_), allocatable :: tmp(:,:) Integer :: err_act, nar,nac,nc, i - character(len=1) :: side_ + character(len=1) :: scale_ character(len=20) :: name='z_cssm' logical, parameter :: debug=.false. @@ -948,13 +948,13 @@ contains end if if (present(d)) then - if (present(side)) then - side_ = side + if (present(scale)) then + scale_ = scale else - side_ = 'L' + scale_ = 'L' end if - if (psb_toupper(side_) == 'R') then + if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then info = 36 call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) @@ -976,7 +976,7 @@ contains if (info /= 0) info = 4000 end if - else if (psb_toupper(side_) == 'L') then + else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then info = 36 @@ -1004,11 +1004,11 @@ contains else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=side_) + call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) goto 9999 end if else - ! Side is ignored in this case + ! Scale is ignored in this case call a%base_cssm(alpha,x,beta,y,info,trans) end if @@ -1036,7 +1036,7 @@ contains end subroutine z_cssm - subroutine z_cssv(alpha,a,x,beta,y,info,trans,side,d) + subroutine z_cssv(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod use psb_string_mod implicit none @@ -1044,12 +1044,12 @@ contains complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(inout) :: y(:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale complex(psb_dpk_), intent(in), optional :: d(:) complex(psb_dpk_), allocatable :: tmp(:) Integer :: err_act, nar,nac,nc, i - character(len=1) :: side_ + character(len=1) :: scale_ character(len=20) :: name='z_cssm' logical, parameter :: debug=.false. @@ -1082,13 +1082,13 @@ contains end if if (present(d)) then - if (present(side)) then - side_ = side + if (present(scale)) then + scale_ = scale else - side_ = 'L' + scale_ = 'L' end if - if (psb_toupper(side_) == 'R') then + if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then info = 36 call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) @@ -1106,7 +1106,7 @@ contains if (info /= 0) info = 4000 end if - else if (psb_toupper(side_) == 'L') then + else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then info = 36 call psb_errpush(info,name,i_err=(/9,nar,0,0,0/)) @@ -1129,11 +1129,11 @@ contains else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=side_) + call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) goto 9999 end if else - ! Side is ignored in this case + ! Scale is ignored in this case call a%base_cssm(alpha,x,beta,y,info,trans) end if diff --git a/base/modules/psb_z_mat_mod.f03 b/base/modules/psb_z_mat_mod.f03 index b28a288b..175514ce 100644 --- a/base/modules/psb_z_mat_mod.f03 +++ b/base/modules/psb_z_mat_mod.f03 @@ -1699,14 +1699,14 @@ contains end subroutine z_csmv - subroutine z_cssm(alpha,a,x,beta,y,info,trans,side,d) + subroutine z_cssm(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod implicit none class(psb_z_sparse_mat), intent(in) :: a complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(inout) :: y(:,:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale complex(psb_dpk_), intent(in), optional :: d(:) Integer :: err_act character(len=20) :: name='psb_cssm' @@ -1720,7 +1720,7 @@ contains goto 9999 endif - call a%a%cssm(alpha,x,beta,y,info,trans,side,d) + call a%a%cssm(alpha,x,beta,y,info,trans,scale,d) if (info /= 0) goto 9999 call psb_erractionrestore(err_act) @@ -1737,14 +1737,14 @@ contains end subroutine z_cssm - subroutine z_cssv(alpha,a,x,beta,y,info,trans,side,d) + subroutine z_cssv(alpha,a,x,beta,y,info,trans,scale,d) use psb_error_mod implicit none class(psb_z_sparse_mat), intent(in) :: a complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(inout) :: y(:) integer, intent(out) :: info - character, optional, intent(in) :: trans, side + character, optional, intent(in) :: trans, scale complex(psb_dpk_), intent(in), optional :: d(:) Integer :: err_act character(len=20) :: name='psb_cssv' @@ -1758,7 +1758,7 @@ contains goto 9999 endif - call a%a%cssm(alpha,x,beta,y,info,trans,side,d) + call a%a%cssm(alpha,x,beta,y,info,trans,scale,d) if (info /= 0) goto 9999 diff --git a/base/psblas/psb_cspsm.f90 b/base/psblas/psb_cspsm.f90 index 56d6dab2..c32aae11 100644 --- a/base/psblas/psb_cspsm.f90 +++ b/base/psblas/psb_cspsm.f90 @@ -64,7 +64,7 @@ ! desc_a - type(psb_desc_type). The communication descriptor. ! info - integer. Return code ! trans - character(optional). Whether A or A'. If not present 'N' is assumed. -! side - character(optional). Specify some type of operation with +! scale - character(optional). Specify some type of operation with ! the diagonal matrix D. ! choice - integer(optional). The kind of update to perform on overlap elements. ! d(:) - complex, optional Matrix for diagonal scaling. @@ -74,7 +74,7 @@ ! work(:) - complex, optional Working area. ! subroutine psb_cspsm(alpha,a,x,beta,y,desc_a,info,& - & trans, side, choice, diag, k, jx, jy, work) + & trans, scale, choice, diag, k, jx, jy, work) use psb_descriptor_type use psb_comm_mod @@ -94,7 +94,7 @@ subroutine psb_cspsm(alpha,a,x,beta,y,desc_a,info,& integer, intent(out) :: info complex(psb_spk_), intent(in), optional, target :: diag(:) complex(psb_spk_), optional, target :: work(:) - character, intent(in), optional :: trans, side + character, intent(in), optional :: trans, scale integer, intent(in), optional :: choice integer, intent(in), optional :: k, jx, jy @@ -104,7 +104,7 @@ subroutine psb_cspsm(alpha,a,x,beta,y,desc_a,info,& & ix, iy, ik, ijx, ijy, i, lld,& & m, nrow, ncol, liwork, llwork, iiy, jjy, idx, ndm - character :: lside + character :: lscale integer, parameter :: nb=4 complex(psb_spk_),pointer :: iwork(:), xp(:,:), yp(:,:), id(:) character :: itrans @@ -156,10 +156,10 @@ subroutine psb_cspsm(alpha,a,x,beta,y,desc_a,info,& choice_ = psb_avg_ endif - if (present(side)) then - lside = psb_toupper(side) + if (present(scale)) then + lscale = psb_toupper(scale) else - lside = 'U' + lscale = 'U' endif if (present(trans)) then @@ -255,7 +255,7 @@ subroutine psb_cspsm(alpha,a,x,beta,y,desc_a,info,& ! Perform local triangular system solve xp => x(iix:lldx,jjx:jjx+ik-1) yp => y(iiy:lldy,jjy:jjy+ik-1) - call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans) + call psb_cssm(alpha,a,xp,beta,yp,info,scale=scale,d=diag,trans=trans) if(info /= 0) then info = 4010 @@ -353,14 +353,14 @@ end subroutine psb_cspsm ! desc_a - type(psb_desc_type). The communication descriptor. ! info - integer. Return code ! trans - character(optional). Whether A or A'. If not present 'N' is assumed. -! side - character(optional). Specify some type of operation with +! scale - character(optional). Specify some type of operation with ! the diagonal matrix D. ! choice - integer(optional). The kind of update to perform on overlap elements. ! d(:) - complex, optional Matrix for diagonal scaling. ! work(:) - complex, optional Working area. ! subroutine psb_cspsv(alpha,a,x,beta,y,desc_a,info,& - & trans, side, choice, diag, work) + & trans, scale, choice, diag, work) use psb_descriptor_type use psb_comm_mod use psi_mod @@ -379,7 +379,7 @@ subroutine psb_cspsv(alpha,a,x,beta,y,desc_a,info,& integer, intent(out) :: info complex(psb_spk_), intent(in), optional, target :: diag(:) complex(psb_spk_), optional, target :: work(:) - character, intent(in), optional :: trans, side + character, intent(in), optional :: trans, scale integer, intent(in), optional :: choice ! locals @@ -388,7 +388,7 @@ subroutine psb_cspsv(alpha,a,x,beta,y,desc_a,info,& & ix, iy, ik, jx, jy, i, lld,& & m, nrow, ncol, liwork, llwork, iiy, jjy, idx, ndm - character :: lside + character :: lscale integer, parameter :: nb=4 complex(psb_spk_),pointer :: iwork(:), xp(:), yp(:), id(:) character :: itrans @@ -424,10 +424,10 @@ subroutine psb_cspsv(alpha,a,x,beta,y,desc_a,info,& choice_ = psb_avg_ endif - if (present(side)) then - lside = psb_toupper(side) + if (present(scale)) then + lscale = psb_toupper(scale) else - lside = 'U' + lscale = 'U' endif if (present(trans)) then @@ -524,7 +524,7 @@ subroutine psb_cspsv(alpha,a,x,beta,y,desc_a,info,& ! Perform local triangular system solve xp => x(iix:lldx) yp => y(iiy:lldy) - call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans) + call psb_cssm(alpha,a,xp,beta,yp,info,scale=scale,d=diag,trans=trans) if(info /= 0) then info = 4010 diff --git a/base/psblas/psb_dspsm.f90 b/base/psblas/psb_dspsm.f90 index b6d9cf38..16a33915 100644 --- a/base/psblas/psb_dspsm.f90 +++ b/base/psblas/psb_dspsm.f90 @@ -64,7 +64,7 @@ ! desc_a - type(psb_desc_type). The communication descriptor. ! info - integer. Return code ! trans - character(optional). Whether A or A'. If not present 'N' is assumed. -! side - character(optional). Specify some type of operation with +! scale - character(optional). Specify some type of operation with ! the diagonal matrix D. ! choice - integer(optional). The kind of update to perform on overlap elements. ! d(:) - real , optional Matrix for diagonal scaling. @@ -75,7 +75,7 @@ ! ! subroutine psb_dspsm(alpha,a,x,beta,y,desc_a,info,& - & trans, side, choice, diag, k, jx, jy, work) + & trans, scale, choice, diag, k, jx, jy, work) use psb_descriptor_type use psb_comm_mod @@ -95,7 +95,7 @@ subroutine psb_dspsm(alpha,a,x,beta,y,desc_a,info,& integer, intent(out) :: info real(psb_dpk_), intent(in), optional, target :: diag(:) real(psb_dpk_), optional, target :: work(:) - character, intent(in), optional :: trans, side + character, intent(in), optional :: trans, scale integer, intent(in), optional :: choice integer, intent(in), optional :: k, jx, jy @@ -105,7 +105,7 @@ subroutine psb_dspsm(alpha,a,x,beta,y,desc_a,info,& & ix, iy, ik, ijx, ijy, i, lld,& & m, nrow, ncol, liwork, llwork, iiy, jjy, idx, ndm - character :: lside + character :: lscale integer, parameter :: nb=4 real(psb_dpk_),pointer :: iwork(:), xp(:,:), yp(:,:), id(:) character :: itrans @@ -157,10 +157,10 @@ subroutine psb_dspsm(alpha,a,x,beta,y,desc_a,info,& choice_ = psb_avg_ endif - if (present(side)) then - lside = psb_toupper(side) + if (present(scale)) then + lscale = psb_toupper(scale) else - lside = 'U' + lscale = 'U' endif if (present(trans)) then @@ -256,7 +256,7 @@ subroutine psb_dspsm(alpha,a,x,beta,y,desc_a,info,& ! Perform local triangular system solve xp => x(iix:lldx,jjx:jjx+ik-1) yp => y(iiy:lldy,jjy:jjy+ik-1) - call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans) + call psb_cssm(alpha,a,xp,beta,yp,info,scale=scale,d=diag,trans=trans) if(info /= 0) then info = 4010 @@ -354,14 +354,14 @@ end subroutine psb_dspsm ! desc_a - type(psb_desc_type). The communication descriptor. ! info - integer. Return code ! trans - character(optional). Whether A or A'. If not present 'N' is assumed. -! side - character(optional). Specify some type of operation with +! scale - character(optional). Specify some type of operation with ! the diagonal matrix D. ! choice - integer(optional). The kind of update to perform on overlap elements. ! d(:) - real , optional Matrix for diagonal scaling. ! work(:) - real , optional Working area. ! subroutine psb_dspsv(alpha,a,x,beta,y,desc_a,info,& - & trans, side, choice, diag, work) + & trans, scale, choice, diag, work) use psb_descriptor_type use psb_comm_mod use psi_mod @@ -380,7 +380,7 @@ subroutine psb_dspsv(alpha,a,x,beta,y,desc_a,info,& integer, intent(out) :: info real(psb_dpk_), intent(in), optional, target :: diag(:) real(psb_dpk_), optional, target :: work(:) - character, intent(in), optional :: trans, side + character, intent(in), optional :: trans, scale integer, intent(in), optional :: choice ! locals @@ -389,7 +389,7 @@ subroutine psb_dspsv(alpha,a,x,beta,y,desc_a,info,& & ix, iy, ik, jx, jy, i, lld,& & m, nrow, ncol, liwork, llwork, iiy, jjy, idx, ndm - character :: lside + character :: lscale integer, parameter :: nb=4 real(psb_dpk_),pointer :: iwork(:), xp(:), yp(:), id(:) character :: itrans @@ -425,10 +425,10 @@ subroutine psb_dspsv(alpha,a,x,beta,y,desc_a,info,& choice_ = psb_avg_ endif - if (present(side)) then - lside = psb_toupper(side) + if (present(scale)) then + lscale = psb_toupper(scale) else - lside = 'U' + lscale = 'U' endif if (present(trans)) then @@ -525,7 +525,7 @@ subroutine psb_dspsv(alpha,a,x,beta,y,desc_a,info,& ! Perform local triangular system solve xp => x(iix:lldx) yp => y(iiy:lldy) - call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans) + call psb_cssm(alpha,a,xp,beta,yp,info,scale=scale,d=diag,trans=trans) if(info /= 0) then info = 4010 diff --git a/base/psblas/psb_sspsm.f90 b/base/psblas/psb_sspsm.f90 index fb967644..c17b5505 100644 --- a/base/psblas/psb_sspsm.f90 +++ b/base/psblas/psb_sspsm.f90 @@ -75,7 +75,7 @@ ! ! subroutine psb_sspsm(alpha,a,x,beta,y,desc_a,info,& - & trans, side, choice, diag, k, jx, jy, work) + & trans, scale, choice, diag, k, jx, jy, work) use psb_descriptor_type use psb_comm_mod @@ -95,7 +95,7 @@ subroutine psb_sspsm(alpha,a,x,beta,y,desc_a,info,& integer, intent(out) :: info real(psb_spk_), intent(in), optional, target :: diag(:) real(psb_spk_), optional, target :: work(:) - character, intent(in), optional :: trans, side + character, intent(in), optional :: trans, scale integer, intent(in), optional :: choice integer, intent(in), optional :: k, jx, jy @@ -105,7 +105,7 @@ subroutine psb_sspsm(alpha,a,x,beta,y,desc_a,info,& & ix, iy, ik, ijx, ijy, i, lld,& & m, nrow, ncol, liwork, llwork, iiy, jjy, idx, ndm - character :: lside + character :: lscale integer, parameter :: nb=4 real(psb_spk_),pointer :: iwork(:), xp(:,:), yp(:,:), id(:) character :: itrans @@ -157,10 +157,10 @@ subroutine psb_sspsm(alpha,a,x,beta,y,desc_a,info,& choice_ = psb_avg_ endif - if (present(side)) then - lside = psb_toupper(side) + if (present(scale)) then + lscale = psb_toupper(scale) else - lside = 'U' + lscale = 'U' endif if (present(trans)) then @@ -256,7 +256,7 @@ subroutine psb_sspsm(alpha,a,x,beta,y,desc_a,info,& ! Perform local triangular system solve xp => x(iix:lldx,jjx:jjx+ik-1) yp => y(iiy:lldy,jjy:jjy+ik-1) - call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans) + call psb_cssm(alpha,a,xp,beta,yp,info,scale=scale,d=diag,trans=trans) if(info /= 0) then info = 4010 @@ -354,14 +354,14 @@ end subroutine psb_sspsm ! desc_a - type(psb_desc_type). The communication descriptor. ! info - integer. Return code ! trans - character(optional). Whether A or A'. If not present 'N' is assumed. -! side - character(optional). Specify some type of operation with +! scale - character(optional). Specify some type of operation with ! the diagonal matrix D. ! choice - integer(optional). The kind of update to perform on overlap elements. ! d(:) - real , optional Matrix for diagonal scaling. ! work(:) - real , optional Working area. ! subroutine psb_sspsv(alpha,a,x,beta,y,desc_a,info,& - & trans, side, choice, diag, work) + & trans, scale, choice, diag, work) use psb_descriptor_type use psb_comm_mod use psi_mod @@ -380,7 +380,7 @@ subroutine psb_sspsv(alpha,a,x,beta,y,desc_a,info,& integer, intent(out) :: info real(psb_spk_), intent(in), optional, target :: diag(:) real(psb_spk_), optional, target :: work(:) - character, intent(in), optional :: trans, side + character, intent(in), optional :: trans, scale integer, intent(in), optional :: choice ! locals @@ -389,7 +389,7 @@ subroutine psb_sspsv(alpha,a,x,beta,y,desc_a,info,& & ix, iy, ik, jx, jy, i, lld,& & m, nrow, ncol, liwork, llwork, iiy, jjy, idx, ndm - character :: lside + character :: lscale integer, parameter :: nb=4 real(psb_spk_),pointer :: iwork(:), xp(:), yp(:), id(:) character :: itrans @@ -425,10 +425,10 @@ subroutine psb_sspsv(alpha,a,x,beta,y,desc_a,info,& choice_ = psb_avg_ endif - if (present(side)) then - lside = psb_toupper(side) + if (present(scale)) then + lscale = psb_toupper(scale) else - lside = 'U' + lscale = 'U' endif if (present(trans)) then @@ -525,7 +525,7 @@ subroutine psb_sspsv(alpha,a,x,beta,y,desc_a,info,& ! Perform local triangular system solve xp => x(iix:lldx) yp => y(iiy:lldy) - call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans) + call psb_cssm(alpha,a,xp,beta,yp,info,scale=scale,d=diag,trans=trans) if(info /= 0) then info = 4010 diff --git a/base/psblas/psb_zspsm.f90 b/base/psblas/psb_zspsm.f90 index bd19d51e..6a1164f7 100644 --- a/base/psblas/psb_zspsm.f90 +++ b/base/psblas/psb_zspsm.f90 @@ -64,7 +64,7 @@ ! desc_a - type(psb_desc_type). The communication descriptor. ! info - integer. Return code ! trans - character(optional). Whether A or A'. If not present 'N' is assumed. -! unitd - character(optional). Specify some type of operation with +! scale - character(optional). Specify some type of operation with ! the diagonal matrix D. ! choice - integer(optional). The kind of update to perform on overlap elements. ! d(:) - complex, optional Matrix for diagonal scaling. @@ -74,7 +74,7 @@ ! work(:) - complex, optional Working area. ! subroutine psb_zspsm(alpha,a,x,beta,y,desc_a,info,& - & trans, side, choice, diag, k, jx, jy, work) + & trans, scale, choice, diag, k, jx, jy, work) use psb_descriptor_type use psb_comm_mod @@ -94,7 +94,7 @@ subroutine psb_zspsm(alpha,a,x,beta,y,desc_a,info,& integer, intent(out) :: info complex(psb_dpk_), intent(in), optional, target :: diag(:) complex(psb_dpk_), optional, target :: work(:) - character, intent(in), optional :: trans, side + character, intent(in), optional :: trans, scale integer, intent(in), optional :: choice integer, intent(in), optional :: k, jx, jy @@ -104,7 +104,7 @@ subroutine psb_zspsm(alpha,a,x,beta,y,desc_a,info,& & ix, iy, ik, ijx, ijy, i, lld,& & m, nrow, ncol, liwork, llwork, iiy, jjy, idx, ndm - character :: lside + character :: lscale integer, parameter :: nb=4 complex(psb_dpk_),pointer :: iwork(:), xp(:,:), yp(:,:), id(:) character :: itrans @@ -156,10 +156,10 @@ subroutine psb_zspsm(alpha,a,x,beta,y,desc_a,info,& choice_ = psb_avg_ endif - if (present(side)) then - lside = psb_toupper(side) + if (present(scale)) then + lscale = psb_toupper(scale) else - lside = 'U' + lscale = 'U' endif if (present(trans)) then @@ -255,7 +255,7 @@ subroutine psb_zspsm(alpha,a,x,beta,y,desc_a,info,& ! Perform local triangular system solve xp => x(iix:lldx,jjx:jjx+ik-1) yp => y(iiy:lldy,jjy:jjy+ik-1) - call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans) + call psb_cssm(alpha,a,xp,beta,yp,info,scale=scale,d=diag,trans=trans) if(info /= 0) then info = 4010 @@ -353,14 +353,14 @@ end subroutine psb_zspsm ! desc_a - type(psb_desc_type). The communication descriptor. ! info - integer. Return code ! trans - character(optional). Whether A or A'. If not present 'N' is assumed. -! side - character(optional). Specify some type of operation with +! scale - character(optional). Specify some type of operation with ! the diagonal matrix D. ! choice - integer(optional). The kind of update to perform on overlap elements. ! d(:) - complex, optional Matrix for diagonal scaling. ! work(:) - complex, optional Working area. ! subroutine psb_zspsv(alpha,a,x,beta,y,desc_a,info,& - & trans, side, choice, diag, work) + & trans, scale, choice, diag, work) use psb_descriptor_type use psb_comm_mod use psi_mod @@ -379,7 +379,7 @@ subroutine psb_zspsv(alpha,a,x,beta,y,desc_a,info,& integer, intent(out) :: info complex(psb_dpk_), intent(in), optional, target :: diag(:) complex(psb_dpk_), optional, target :: work(:) - character, intent(in), optional :: trans, side + character, intent(in), optional :: trans, scale integer, intent(in), optional :: choice ! locals @@ -388,7 +388,7 @@ subroutine psb_zspsv(alpha,a,x,beta,y,desc_a,info,& & ix, iy, ik, jx, jy, i, lld,& & m, nrow, ncol, liwork, llwork, iiy, jjy, idx, ndm - character :: lside + character :: lscale integer, parameter :: nb=4 complex(psb_dpk_),pointer :: iwork(:), xp(:), yp(:), id(:) character :: itrans @@ -424,10 +424,10 @@ subroutine psb_zspsv(alpha,a,x,beta,y,desc_a,info,& choice_ = psb_avg_ endif - if (present(side)) then - lside = psb_toupper(side) + if (present(scale)) then + lscale = psb_toupper(scale) else - lside = 'U' + lscale = 'U' endif if (present(trans)) then @@ -524,7 +524,7 @@ subroutine psb_zspsv(alpha,a,x,beta,y,desc_a,info,& ! Perform local triangular system solve xp => x(iix:lldx) yp => y(iiy:lldy) - call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans) + call psb_cssm(alpha,a,xp,beta,yp,info,scale=scale,d=diag,trans=trans) if(info /= 0) then info = 4010 diff --git a/base/serial/dp/dvtfg.f b/base/serial/dp/dvtfg.f index 4df56ba2..d2250b3c 100644 --- a/base/serial/dp/dvtfg.f +++ b/base/serial/dp/dvtfg.f @@ -79,7 +79,7 @@ C IWORK1(I) = 0 IWORK3(I) = 0 40 CONTINUE - IF (psb_toupper(UPLO).EQ.'L') THEN + IF (psb_toupper(UPLO).EQ.'L') THEN C C LOWER TRIANGULAR SPARSE MATRIX C @@ -89,7 +89,7 @@ C IWORK1(I) = MAX(IWORK1(I),IWORK1(JA(J))+1) 60 CONTINUE 80 CONTINUE - ELSE IF (psb_toupper(UPLO).EQ.'U') THEN + ELSE IF (psb_toupper(UPLO).EQ.'U') THEN C C UPPER TRIANGULAR SPARSE MATRIX C diff --git a/krylov/psb_krylov_mod.f90 b/krylov/psb_krylov_mod.f90 index aba05547..41d48eaa 100644 --- a/krylov/psb_krylov_mod.f90 +++ b/krylov/psb_krylov_mod.f90 @@ -48,14 +48,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_s_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_sprec_type type(psb_s_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - real(psb_spk_), intent(in) :: b(:) - real(psb_spk_), intent(inout) :: x(:) - real(psb_spk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + real(psb_spk_), intent(in) :: b(:) + real(psb_spk_), intent(inout) :: x(:) + real(psb_spk_), intent(in) :: eps class(psb_sprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_spk_), optional, intent(out) :: err,cond end subroutine psb_scg subroutine psb_dcg(a,prec,b,x,eps,& @@ -63,14 +63,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_d_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_dprec_type type(psb_d_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - real(psb_dpk_), intent(in) :: b(:) - real(psb_dpk_), intent(inout) :: x(:) - real(psb_dpk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + real(psb_dpk_), intent(in) :: b(:) + real(psb_dpk_), intent(inout) :: x(:) + real(psb_dpk_), intent(in) :: eps class(psb_dprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_dpk_), optional, intent(out) :: err,cond end subroutine psb_dcg subroutine psb_ccg(a,prec,b,x,eps,& @@ -78,14 +78,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_c_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_cprec_type type(psb_c_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - complex(psb_spk_), intent(in) :: b(:) - complex(psb_spk_), intent(inout) :: x(:) - real(psb_spk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + complex(psb_spk_), intent(in) :: b(:) + complex(psb_spk_), intent(inout) :: x(:) + real(psb_spk_), intent(in) :: eps class(psb_cprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_spk_), optional, intent(out) :: err end subroutine psb_ccg subroutine psb_zcg(a,prec,b,x,eps,& @@ -93,14 +93,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_z_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_zprec_type type(psb_z_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - complex(psb_dpk_), intent(in) :: b(:) - complex(psb_dpk_), intent(inout) :: x(:) - real(psb_dpk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + complex(psb_dpk_), intent(in) :: b(:) + complex(psb_dpk_), intent(inout) :: x(:) + real(psb_dpk_), intent(in) :: eps class(psb_zprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_dpk_), optional, intent(out) :: err end subroutine psb_zcg end interface @@ -111,14 +111,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_s_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_sprec_type type(psb_s_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - real(psb_spk_), intent(in) :: b(:) - real(psb_spk_), intent(inout) :: x(:) - real(psb_spk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + real(psb_spk_), intent(in) :: b(:) + real(psb_spk_), intent(inout) :: x(:) + real(psb_spk_), intent(in) :: eps class(psb_sprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_spk_), optional, intent(out) :: err end subroutine psb_sbicg subroutine psb_dbicg(a,prec,b,x,eps,& @@ -126,14 +126,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_d_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_dprec_type type(psb_d_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - real(psb_dpk_), intent(in) :: b(:) - real(psb_dpk_), intent(inout) :: x(:) - real(psb_dpk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + real(psb_dpk_), intent(in) :: b(:) + real(psb_dpk_), intent(inout) :: x(:) + real(psb_dpk_), intent(in) :: eps class(psb_dprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_dpk_), optional, intent(out) :: err end subroutine psb_dbicg subroutine psb_cbicg(a,prec,b,x,eps,& @@ -141,14 +141,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_c_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_cprec_type type(psb_c_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - complex(psb_spk_), intent(in) :: b(:) - complex(psb_spk_), intent(inout) :: x(:) - real(psb_spk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + complex(psb_spk_), intent(in) :: b(:) + complex(psb_spk_), intent(inout) :: x(:) + real(psb_spk_), intent(in) :: eps class(psb_cprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_spk_), optional, intent(out) :: err end subroutine psb_cbicg subroutine psb_zbicg(a,prec,b,x,eps,& @@ -156,14 +156,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_z_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_zprec_type type(psb_z_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - complex(psb_dpk_), intent(in) :: b(:) - complex(psb_dpk_), intent(inout) :: x(:) - real(psb_dpk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + complex(psb_dpk_), intent(in) :: b(:) + complex(psb_dpk_), intent(inout) :: x(:) + real(psb_dpk_), intent(in) :: eps class(psb_zprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_dpk_), optional, intent(out) :: err end subroutine psb_zbicg end interface @@ -174,14 +174,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_s_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_sprec_type type(psb_s_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - real(psb_spk_), intent(in) :: b(:) - real(psb_spk_), intent(inout) :: x(:) - real(psb_spk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + real(psb_spk_), intent(in) :: b(:) + real(psb_spk_), intent(inout) :: x(:) + real(psb_spk_), intent(in) :: eps class(psb_sprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_spk_), optional, intent(out) :: err end subroutine psb_scgstab subroutine psb_dcgstab(a,prec,b,x,eps,& @@ -189,14 +189,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_d_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_dprec_type type(psb_d_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - real(psb_dpk_), intent(in) :: b(:) - real(psb_dpk_), intent(inout) :: x(:) - real(psb_dpk_), intent(in) :: eps + type(psb_desc_type), intent(in) :: desc_a + real(psb_dpk_), intent(in) :: b(:) + real(psb_dpk_), intent(inout) :: x(:) + real(psb_dpk_), intent(in) :: eps class(psb_dprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_dpk_), optional, intent(out) :: err end subroutine psb_dcgstab subroutine psb_ccgstab(a,prec,b,x,eps,& @@ -204,14 +204,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_c_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_cprec_type type(psb_c_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(in) :: desc_a complex(psb_spk_), intent(in) :: b(:) complex(psb_spk_), intent(inout) :: x(:) - real(psb_spk_), intent(in) :: eps + real(psb_spk_), intent(in) :: eps class(psb_cprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_spk_), optional, intent(out) :: err end subroutine psb_ccgstab subroutine psb_zcgstab(a,prec,b,x,eps,& @@ -219,14 +219,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_z_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_zprec_type type(psb_z_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(in) :: desc_a complex(psb_dpk_), intent(in) :: b(:) complex(psb_dpk_), intent(inout) :: x(:) - real(psb_dpk_), intent(in) :: eps + real(psb_dpk_), intent(in) :: eps class(psb_zprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_dpk_), optional, intent(out) :: err end subroutine psb_zcgstab end interface @@ -237,14 +237,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_s_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_sprec_type Type(psb_s_sparse_mat), Intent(in) :: a - Type(psb_desc_type), Intent(in) :: desc_a + Type(psb_desc_type), Intent(in) :: desc_a class(psb_sprec_type), intent(in) :: prec - Real(psb_spk_), Intent(in) :: b(:) - Real(psb_spk_), Intent(inout) :: x(:) - Real(psb_spk_), Intent(in) :: eps - integer, intent(out) :: info - Integer, Optional, Intent(in) :: itmax, itrace, irst,istop - Integer, Optional, Intent(out) :: iter + Real(psb_spk_), Intent(in) :: b(:) + Real(psb_spk_), Intent(inout) :: x(:) + Real(psb_spk_), Intent(in) :: eps + integer, intent(out) :: info + Integer, Optional, Intent(in) :: itmax, itrace, irst,istop + Integer, Optional, Intent(out) :: iter Real(psb_spk_), Optional, Intent(out) :: err end subroutine psb_scgstabl Subroutine psb_dcgstabl(a,prec,b,x,eps,desc_a,info,& @@ -252,14 +252,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_d_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_dprec_type type(psb_d_sparse_mat), intent(in) :: a - Type(psb_desc_type), Intent(in) :: desc_a + Type(psb_desc_type), Intent(in) :: desc_a class(psb_dprec_type), intent(in) :: prec - Real(psb_dpk_), Intent(in) :: b(:) - Real(psb_dpk_), Intent(inout) :: x(:) - Real(psb_dpk_), Intent(in) :: eps - integer, intent(out) :: info - Integer, Optional, Intent(in) :: itmax, itrace, irst,istop - Integer, Optional, Intent(out) :: iter + Real(psb_dpk_), Intent(in) :: b(:) + Real(psb_dpk_), Intent(inout) :: x(:) + Real(psb_dpk_), Intent(in) :: eps + integer, intent(out) :: info + Integer, Optional, Intent(in) :: itmax, itrace, irst,istop + Integer, Optional, Intent(out) :: iter Real(psb_dpk_), Optional, Intent(out) :: err end subroutine psb_dcgstabl Subroutine psb_ccgstabl(a,prec,b,x,eps,desc_a,info,& @@ -267,14 +267,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_c_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_cprec_type Type(psb_c_sparse_mat), Intent(in) :: a - Type(psb_desc_type), Intent(in) :: desc_a + Type(psb_desc_type), Intent(in) :: desc_a class(psb_cprec_type), intent(in) :: prec - complex(psb_spk_), Intent(in) :: b(:) - complex(psb_spk_), Intent(inout) :: x(:) - Real(psb_spk_), Intent(in) :: eps - integer, intent(out) :: info - Integer, Optional, Intent(in) :: itmax, itrace, irst,istop - Integer, Optional, Intent(out) :: iter + complex(psb_spk_), Intent(in) :: b(:) + complex(psb_spk_), Intent(inout) :: x(:) + Real(psb_spk_), Intent(in) :: eps + integer, intent(out) :: info + Integer, Optional, Intent(in) :: itmax, itrace, irst,istop + Integer, Optional, Intent(out) :: iter Real(psb_spk_), Optional, Intent(out) :: err end subroutine psb_ccgstabl Subroutine psb_zcgstabl(a,prec,b,x,eps,desc_a,info,& @@ -282,14 +282,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_z_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_zprec_type Type(psb_z_sparse_mat), Intent(in) :: a - Type(psb_desc_type), Intent(in) :: desc_a + Type(psb_desc_type), Intent(in) :: desc_a class(psb_zprec_type), intent(in) :: prec - complex(psb_dpk_), Intent(in) :: b(:) - complex(psb_dpk_), Intent(inout) :: x(:) - Real(psb_dpk_), Intent(in) :: eps - integer, intent(out) :: info - Integer, Optional, Intent(in) :: itmax, itrace, irst,istop - Integer, Optional, Intent(out) :: iter + complex(psb_dpk_), Intent(in) :: b(:) + complex(psb_dpk_), Intent(inout) :: x(:) + Real(psb_dpk_), Intent(in) :: eps + integer, intent(out) :: info + Integer, Optional, Intent(in) :: itmax, itrace, irst,istop + Integer, Optional, Intent(out) :: iter Real(psb_dpk_), Optional, Intent(out) :: err end subroutine psb_zcgstabl end interface @@ -300,14 +300,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_s_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_sprec_type Type(psb_s_sparse_mat), Intent(in) :: a - Type(psb_desc_type), Intent(in) :: desc_a + Type(psb_desc_type), Intent(in) :: desc_a class(psb_sprec_type), intent(in) :: prec - Real(psb_spk_), Intent(in) :: b(:) - Real(psb_spk_), Intent(inout) :: x(:) - Real(psb_spk_), Intent(in) :: eps - integer, intent(out) :: info - Integer, Optional, Intent(in) :: itmax, itrace, irst,istop - Integer, Optional, Intent(out) :: iter + Real(psb_spk_), Intent(in) :: b(:) + Real(psb_spk_), Intent(inout) :: x(:) + Real(psb_spk_), Intent(in) :: eps + integer, intent(out) :: info + Integer, Optional, Intent(in) :: itmax, itrace, irst,istop + Integer, Optional, Intent(out) :: iter Real(psb_spk_), Optional, Intent(out) :: err end subroutine psb_srgmres Subroutine psb_drgmres(a,prec,b,x,eps,desc_a,info,& @@ -315,14 +315,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_d_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_dprec_type type(psb_d_sparse_mat), intent(in) :: a - Type(psb_desc_type), Intent(in) :: desc_a + Type(psb_desc_type), Intent(in) :: desc_a class(psb_dprec_type), intent(in) :: prec - Real(psb_dpk_), Intent(in) :: b(:) - Real(psb_dpk_), Intent(inout) :: x(:) - Real(psb_dpk_), Intent(in) :: eps - integer, intent(out) :: info - Integer, Optional, Intent(in) :: itmax, itrace, irst,istop - Integer, Optional, Intent(out) :: iter + Real(psb_dpk_), Intent(in) :: b(:) + Real(psb_dpk_), Intent(inout) :: x(:) + Real(psb_dpk_), Intent(in) :: eps + integer, intent(out) :: info + Integer, Optional, Intent(in) :: itmax, itrace, irst,istop + Integer, Optional, Intent(out) :: iter Real(psb_dpk_), Optional, Intent(out) :: err end subroutine psb_drgmres Subroutine psb_crgmres(a,prec,b,x,eps,desc_a,info,& @@ -330,14 +330,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_c_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_cprec_type Type(psb_c_sparse_mat), Intent(in) :: a - Type(psb_desc_type), Intent(in) :: desc_a + Type(psb_desc_type), Intent(in) :: desc_a class(psb_cprec_type), intent(in) :: prec - complex(psb_spk_), Intent(in) :: b(:) - complex(psb_spk_), Intent(inout) :: x(:) - Real(psb_spk_), Intent(in) :: eps - integer, intent(out) :: info - Integer, Optional, Intent(in) :: itmax, itrace, irst,istop - Integer, Optional, Intent(out) :: iter + complex(psb_spk_), Intent(in) :: b(:) + complex(psb_spk_), Intent(inout) :: x(:) + Real(psb_spk_), Intent(in) :: eps + integer, intent(out) :: info + Integer, Optional, Intent(in) :: itmax, itrace, irst,istop + Integer, Optional, Intent(out) :: iter Real(psb_spk_), Optional, Intent(out) :: err end subroutine psb_crgmres Subroutine psb_zrgmres(a,prec,b,x,eps,desc_a,info,& @@ -345,14 +345,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_z_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_zprec_type Type(psb_z_sparse_mat), Intent(in) :: a - Type(psb_desc_type), Intent(in) :: desc_a + Type(psb_desc_type), Intent(in) :: desc_a class(psb_zprec_type), intent(in) :: prec - complex(psb_dpk_), Intent(in) :: b(:) - complex(psb_dpk_), Intent(inout) :: x(:) - Real(psb_dpk_), Intent(in) :: eps - integer, intent(out) :: info - Integer, Optional, Intent(in) :: itmax, itrace, irst,istop - Integer, Optional, Intent(out) :: iter + complex(psb_dpk_), Intent(in) :: b(:) + complex(psb_dpk_), Intent(inout) :: x(:) + Real(psb_dpk_), Intent(in) :: eps + integer, intent(out) :: info + Integer, Optional, Intent(in) :: itmax, itrace, irst,istop + Integer, Optional, Intent(out) :: iter Real(psb_dpk_), Optional, Intent(out) :: err end subroutine psb_zrgmres end interface @@ -363,14 +363,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_s_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_sprec_type type(psb_s_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(in) :: desc_a class(psb_sprec_type), intent(in) :: prec - real(psb_spk_), intent(in) :: b(:) - real(psb_spk_), intent(inout) :: x(:) - real(psb_spk_), intent(in) :: eps - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + real(psb_spk_), intent(in) :: b(:) + real(psb_spk_), intent(inout) :: x(:) + real(psb_spk_), intent(in) :: eps + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_spk_), optional, intent(out) :: err end subroutine psb_scgs subroutine psb_dcgs(a,prec,b,x,eps,desc_a,info,& @@ -378,14 +378,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_d_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_dprec_type type(psb_d_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(in) :: desc_a class(psb_dprec_type), intent(in) :: prec - real(psb_dpk_), intent(in) :: b(:) - real(psb_dpk_), intent(inout) :: x(:) - real(psb_dpk_), intent(in) :: eps - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + real(psb_dpk_), intent(in) :: b(:) + real(psb_dpk_), intent(inout) :: x(:) + real(psb_dpk_), intent(in) :: eps + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_dpk_), optional, intent(out) :: err end subroutine psb_dcgs subroutine psb_ccgs(a,prec,b,x,eps,& @@ -393,14 +393,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_c_sparse_mat, psb_spk_ use psb_prec_mod, only : psb_cprec_type type(psb_c_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(in) :: desc_a complex(psb_spk_), intent(in) :: b(:) complex(psb_spk_), intent(inout) :: x(:) - real(psb_spk_), intent(in) :: eps + real(psb_spk_), intent(in) :: eps class(psb_cprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_spk_), optional, intent(out) :: err end subroutine psb_ccgs subroutine psb_zcgs(a,prec,b,x,eps,& @@ -408,14 +408,14 @@ Module psb_krylov_mod use psb_base_mod, only : psb_desc_type, psb_z_sparse_mat, psb_dpk_ use psb_prec_mod, only : psb_zprec_type type(psb_z_sparse_mat), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(in) :: desc_a complex(psb_dpk_), intent(in) :: b(:) complex(psb_dpk_), intent(inout) :: x(:) - real(psb_dpk_), intent(in) :: eps + real(psb_dpk_), intent(in) :: eps class(psb_zprec_type), intent(in) :: prec - integer, intent(out) :: info - integer, optional, intent(in) :: itmax, itrace,istop - integer, optional, intent(out) :: iter + integer, intent(out) :: info + integer, optional, intent(in) :: itmax, itrace,istop + integer, optional, intent(out) :: iter real(psb_dpk_), optional, intent(out) :: err end subroutine psb_zcgs end interface diff --git a/prec/psb_cbjac_aply.f90 b/prec/psb_cbjac_aply.f90 index eab9710a..c283a02f 100644 --- a/prec/psb_cbjac_aply.f90 +++ b/prec/psb_cbjac_aply.f90 @@ -108,26 +108,26 @@ subroutine psb_cbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) case('N') call psb_spsm(cone,prec%av(psb_l_pr_),x,czero,ww,desc_data,info,& - & trans=trans_,side='L',diag=prec%d,choice=psb_none_,work=aux) + & trans=trans_,scale='L',diag=prec%d,choice=psb_none_,work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_u_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_, work=aux) + & trans=trans_,scale='U',choice=psb_none_, work=aux) if(info /=0) goto 9999 case('T') call psb_spsm(cone,prec%av(psb_u_pr_),x,czero,ww,desc_data,info,& - & trans=trans_,side='L',diag=prec%d,choice=psb_none_, work=aux) + & trans=trans_,scale='L',diag=prec%d,choice=psb_none_, work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_,work=aux) + & trans=trans_,scale='U',choice=psb_none_,work=aux) if(info /=0) goto 9999 case('C') call psb_spsm(cone,prec%av(psb_u_pr_),x,czero,ww,desc_data,info,& - & trans=trans_,side='L',diag=conjg(prec%d),choice=psb_none_, work=aux) + & trans=trans_,scale='L',diag=conjg(prec%d),choice=psb_none_, work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_,work=aux) + & trans=trans_,scale='U',choice=psb_none_,work=aux) if(info /=0) goto 9999 end select diff --git a/prec/psb_dbjac_aply.f90 b/prec/psb_dbjac_aply.f90 index 22777a6b..b77fa231 100644 --- a/prec/psb_dbjac_aply.f90 +++ b/prec/psb_dbjac_aply.f90 @@ -108,18 +108,18 @@ subroutine psb_dbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) case('N') call psb_spsm(done,prec%av(psb_l_pr_),x,dzero,ww,desc_data,info,& - & trans=trans_,side='L',diag=prec%d,choice=psb_none_,work=aux) + & trans=trans_,scale='L',diag=prec%d,choice=psb_none_,work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_u_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_, work=aux) + & trans=trans_,scale='U',choice=psb_none_, work=aux) if(info /=0) goto 9999 case('T','C') call psb_spsm(done,prec%av(psb_u_pr_),x,dzero,ww,desc_data,info,& - & trans=trans_,side='L',diag=prec%d,choice=psb_none_, work=aux) + & trans=trans_,scale='L',diag=prec%d,choice=psb_none_, work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_,work=aux) + & trans=trans_,scale='U',choice=psb_none_,work=aux) if(info /=0) goto 9999 end select diff --git a/prec/psb_sbjac_aply.f90 b/prec/psb_sbjac_aply.f90 index 90095ba8..05810cbf 100644 --- a/prec/psb_sbjac_aply.f90 +++ b/prec/psb_sbjac_aply.f90 @@ -108,18 +108,18 @@ subroutine psb_sbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) case('N') call psb_spsm(sone,prec%av(psb_l_pr_),x,szero,ww,desc_data,info,& - & trans=trans_,side='L',diag=prec%d,choice=psb_none_,work=aux) + & trans=trans_,scale='L',diag=prec%d,choice=psb_none_,work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_u_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_, work=aux) + & trans=trans_,scale='U',choice=psb_none_, work=aux) if(info /=0) goto 9999 case('T','C') call psb_spsm(sone,prec%av(psb_u_pr_),x,szero,ww,desc_data,info,& - & trans=trans_,side='L',diag=prec%d,choice=psb_none_, work=aux) + & trans=trans_,scale='L',diag=prec%d,choice=psb_none_, work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_,work=aux) + & trans=trans_,scale='U',choice=psb_none_,work=aux) if(info /=0) goto 9999 end select diff --git a/prec/psb_zbjac_aply.f90 b/prec/psb_zbjac_aply.f90 index 74f8e8c0..4f2a9474 100644 --- a/prec/psb_zbjac_aply.f90 +++ b/prec/psb_zbjac_aply.f90 @@ -108,26 +108,26 @@ subroutine psb_zbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) case('N') call psb_spsm(zone,prec%av(psb_l_pr_),x,zzero,ww,desc_data,info,& - & trans=trans_,side='L',diag=prec%d,choice=psb_none_,work=aux) + & trans=trans_,scale='L',diag=prec%d,choice=psb_none_,work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_u_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_, work=aux) + & trans=trans_,scale='U',choice=psb_none_, work=aux) if(info /=0) goto 9999 case('T') call psb_spsm(zone,prec%av(psb_u_pr_),x,zzero,ww,desc_data,info,& - & trans=trans_,side='L',diag=prec%d,choice=psb_none_, work=aux) + & trans=trans_,scale='L',diag=prec%d,choice=psb_none_, work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_,work=aux) + & trans=trans_,scale='U',choice=psb_none_,work=aux) if(info /=0) goto 9999 case('C') call psb_spsm(zone,prec%av(psb_u_pr_),x,zzero,ww,desc_data,info,& - & trans=trans_,side='L',diag=conjg(prec%d),choice=psb_none_, work=aux) + & trans=trans_,scale='L',diag=conjg(prec%d),choice=psb_none_, work=aux) if(info /=0) goto 9999 call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,& - & trans=trans_,side='U',choice=psb_none_,work=aux) + & trans=trans_,scale='U',choice=psb_none_,work=aux) if(info /=0) goto 9999 end select