psb_c_base_mat_impl.F90
 psb_d_base_mat_impl.F90
 psb_s_base_mat_impl.F90
 psb_z_base_mat_impl.F90

Further fixes for conditional compilation on MOLD. Step 2.
psblas3-final
Salvatore Filippone 13 years ago
parent 338d153ea5
commit 19cb363501

@ -1554,9 +1554,11 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
call psb_errpush(info,name,i_err=ierr) call psb_errpush(info,name,i_err=ierr)
goto 9999 goto 9999
end if end if
#ifdef HAVE_MOLD
allocate(tmpv, mold=y,stat=info) allocate(tmpv, mold=y,stat=info)
! allocate(tmp(nac),stat=info) #else
call y%mold(tmpv,info)
#endif
if (info /= psb_success_) info = psb_err_alloc_dealloc_ if (info /= psb_success_) info = psb_err_alloc_dealloc_
if (info == psb_success_) call tmpv%mlt(cone,d%v(1:nac),x,czero,info) if (info == psb_success_) call tmpv%mlt(cone,d%v(1:nac),x,czero,info)
if (info == psb_success_)& if (info == psb_success_)&
@ -1579,10 +1581,13 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
if (beta == czero) then if (beta == czero) then
call a%inner_cssm(alpha,x,czero,y,info,trans) call a%inner_cssm(alpha,x,czero,y,info,trans)
if (info == psb_success_) call y%mlt(d%v(1:nar),info) if (info == psb_success_) call y%mlt(d%v(1:nar),info)
!!$ if (info == psb_success_) call inner_vscal1(nar,d,y)
else else
! allocate(tmp(nar),stat=info) #ifdef HAVE_MOLD
allocate(tmpv, mold=y,stat=info) allocate(tmpv, mold=y,stat=info)
#else
call y%mold(tmpv,info)
#endif
if (info /= psb_success_) info = psb_err_alloc_dealloc_ if (info /= psb_success_) info = psb_err_alloc_dealloc_
if (info == psb_success_)& if (info == psb_success_)&
& call a%inner_cssm(alpha,x,czero,tmpv,info,trans) & call a%inner_cssm(alpha,x,czero,tmpv,info,trans)

@ -1554,9 +1554,11 @@ subroutine psb_d_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
call psb_errpush(info,name,i_err=ierr) call psb_errpush(info,name,i_err=ierr)
goto 9999 goto 9999
end if end if
#ifdef HAVE_MOLD
allocate(tmpv, mold=y,stat=info) allocate(tmpv, mold=y,stat=info)
! allocate(tmp(nac),stat=info) #else
call y%mold(tmpv,info)
#endif
if (info /= psb_success_) info = psb_err_alloc_dealloc_ if (info /= psb_success_) info = psb_err_alloc_dealloc_
if (info == psb_success_) call tmpv%mlt(done,d%v(1:nac),x,dzero,info) if (info == psb_success_) call tmpv%mlt(done,d%v(1:nac),x,dzero,info)
if (info == psb_success_)& if (info == psb_success_)&
@ -1579,10 +1581,13 @@ subroutine psb_d_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
if (beta == dzero) then if (beta == dzero) then
call a%inner_cssm(alpha,x,dzero,y,info,trans) call a%inner_cssm(alpha,x,dzero,y,info,trans)
if (info == psb_success_) call y%mlt(d%v(1:nar),info) if (info == psb_success_) call y%mlt(d%v(1:nar),info)
!!$ if (info == psb_success_) call inner_vscal1(nar,d,y)
else else
! allocate(tmp(nar),stat=info) #ifdef HAVE_MOLD
allocate(tmpv, mold=y,stat=info) allocate(tmpv, mold=y,stat=info)
#else
call y%mold(tmpv,info)
#endif
if (info /= psb_success_) info = psb_err_alloc_dealloc_ if (info /= psb_success_) info = psb_err_alloc_dealloc_
if (info == psb_success_)& if (info == psb_success_)&
& call a%inner_cssm(alpha,x,dzero,tmpv,info,trans) & call a%inner_cssm(alpha,x,dzero,tmpv,info,trans)

@ -1554,9 +1554,11 @@ subroutine psb_s_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
call psb_errpush(info,name,i_err=ierr) call psb_errpush(info,name,i_err=ierr)
goto 9999 goto 9999
end if end if
#ifdef HAVE_MOLD
allocate(tmpv, mold=y,stat=info) allocate(tmpv, mold=y,stat=info)
! allocate(tmp(nac),stat=info) #else
call y%mold(tmpv,info)
#endif
if (info /= psb_success_) info = psb_err_alloc_dealloc_ if (info /= psb_success_) info = psb_err_alloc_dealloc_
if (info == psb_success_) call tmpv%mlt(sone,d%v(1:nac),x,szero,info) if (info == psb_success_) call tmpv%mlt(sone,d%v(1:nac),x,szero,info)
if (info == psb_success_)& if (info == psb_success_)&
@ -1579,10 +1581,13 @@ subroutine psb_s_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
if (beta == szero) then if (beta == szero) then
call a%inner_cssm(alpha,x,szero,y,info,trans) call a%inner_cssm(alpha,x,szero,y,info,trans)
if (info == psb_success_) call y%mlt(d%v(1:nar),info) if (info == psb_success_) call y%mlt(d%v(1:nar),info)
!!$ if (info == psb_success_) call inner_vscal1(nar,d,y)
else else
! allocate(tmp(nar),stat=info) #ifdef HAVE_MOLD
allocate(tmpv, mold=y,stat=info) allocate(tmpv, mold=y,stat=info)
#else
call y%mold(tmpv,info)
#endif
if (info /= psb_success_) info = psb_err_alloc_dealloc_ if (info /= psb_success_) info = psb_err_alloc_dealloc_
if (info == psb_success_)& if (info == psb_success_)&
& call a%inner_cssm(alpha,x,szero,tmpv,info,trans) & call a%inner_cssm(alpha,x,szero,tmpv,info,trans)

@ -1554,9 +1554,11 @@ subroutine psb_z_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
call psb_errpush(info,name,i_err=ierr) call psb_errpush(info,name,i_err=ierr)
goto 9999 goto 9999
end if end if
#ifdef HAVE_MOLD
allocate(tmpv, mold=y,stat=info) allocate(tmpv, mold=y,stat=info)
! allocate(tmp(nac),stat=info) #else
call y%mold(tmpv,info)
#endif
if (info /= psb_success_) info = psb_err_alloc_dealloc_ if (info /= psb_success_) info = psb_err_alloc_dealloc_
if (info == psb_success_) call tmpv%mlt(zone,d%v(1:nac),x,zzero,info) if (info == psb_success_) call tmpv%mlt(zone,d%v(1:nac),x,zzero,info)
if (info == psb_success_)& if (info == psb_success_)&
@ -1579,10 +1581,13 @@ subroutine psb_z_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
if (beta == zzero) then if (beta == zzero) then
call a%inner_cssm(alpha,x,zzero,y,info,trans) call a%inner_cssm(alpha,x,zzero,y,info,trans)
if (info == psb_success_) call y%mlt(d%v(1:nar),info) if (info == psb_success_) call y%mlt(d%v(1:nar),info)
!!$ if (info == psb_success_) call inner_vscal1(nar,d,y)
else else
! allocate(tmp(nar),stat=info) #ifdef HAVE_MOLD
allocate(tmpv, mold=y,stat=info) allocate(tmpv, mold=y,stat=info)
#else
call y%mold(tmpv,info)
#endif
if (info /= psb_success_) info = psb_err_alloc_dealloc_ if (info /= psb_success_) info = psb_err_alloc_dealloc_
if (info == psb_success_)& if (info == psb_success_)&
& call a%inner_cssm(alpha,x,zzero,tmpv,info,trans) & call a%inner_cssm(alpha,x,zzero,tmpv,info,trans)

Loading…
Cancel
Save