psb_c_vect_mod.F90
 psb_c_vect_mod.f90
 psb_d_vect_mod.F90
 psb_d_vect_mod.f90
 psb_gen_block_map_mod.f90
 psb_hash_map_mod.f90
 psb_indx_map_mod.f90
 psb_list_map_mod.f90
 psb_repl_map_mod.f90
 psb_s_vect_mod.F90
 psb_s_vect_mod.f90
 psb_z_vect_mod.F90
 psb_z_vect_mod.f90

Changes to L2G/G2L with explicit IP generics, to account for strict
rules in the standard. Caught by XLF. 
First step in changing vect_mod to account for %mold methods.
psblas3-final
Salvatore Filippone 13 years ago
parent 138f53e79f
commit 7f67c5a4d6

@ -144,7 +144,7 @@ contains
end if
idxv(1) = idx
call idxmap%l2g(idxv,info,owned=owned)
call idxmap%l2gip(idxv,info,owned=owned)
idx = idxv(1)
end subroutine block_l2gs1
@ -159,7 +159,7 @@ contains
logical, intent(in), optional :: owned
idxout = idxin
call idxmap%l2g(idxout,info,mask,owned)
call idxmap%l2gip(idxout,info,mask,owned)
end subroutine block_l2gs2
@ -234,7 +234,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%l2g(idxout(1:im),info,mask,owned)
call idxmap%l2gip(idxout(1:im),info,mask,owned)
if (is > im) then
info = -3
end if
@ -257,7 +257,7 @@ contains
end if
idxv(1) = idx
call idxmap%g2l(idxv,info,owned=owned)
call idxmap%g2lip(idxv,info,owned=owned)
idx = idxv(1)
end subroutine block_g2ls1
@ -272,7 +272,7 @@ contains
logical, intent(in), optional :: owned
idxout = idxin
call idxmap%g2l(idxout,info,mask,owned)
call idxmap%g2lip(idxout,info,mask,owned)
end subroutine block_g2ls2
@ -399,7 +399,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%g2l(idxout(1:im),info,mask,owned)
call idxmap%g2lip(idxout(1:im),info,mask,owned)
if (is > im) info = -3
end subroutine block_g2lv2
@ -425,9 +425,9 @@ contains
idxv(1) = idx
if (present(lidx)) then
lidxv(1) = lidx
call idxmap%g2l_ins(idxv,info,lidx=lidxv)
call idxmap%g2lip_ins(idxv,info,lidx=lidxv)
else
call idxmap%g2l_ins(idxv,info)
call idxmap%g2lip_ins(idxv,info)
end if
idx = idxv(1)
@ -443,7 +443,7 @@ contains
integer, intent(in), optional :: lidx
idxout = idxin
call idxmap%g2l_ins(idxout,info,mask=mask,lidx=lidx)
call idxmap%g2lip_ins(idxout,info,mask=mask,lidx=lidx)
end subroutine block_g2ls2_ins
@ -659,7 +659,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%g2l_ins(idxout(1:im),info,mask=mask,lidx=lidx)
call idxmap%g2lip_ins(idxout(1:im),info,mask=mask,lidx=lidx)
if (is > im) then
!!$ write(0,*) 'g2lv2_ins err -3'
info = -3

@ -167,7 +167,7 @@ contains
end if
idxv(1) = idx
call idxmap%l2g(idxv,info,owned=owned)
call idxmap%l2gip(idxv,info,owned=owned)
idx = idxv(1)
end subroutine hash_l2gs1
@ -182,7 +182,7 @@ contains
logical, intent(in), optional :: owned
idxout = idxin
call idxmap%l2g(idxout,info,mask,owned)
call idxmap%l2gip(idxout,info,mask,owned)
end subroutine hash_l2gs2
@ -255,7 +255,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%l2g(idxout(1:im),info,mask,owned)
call idxmap%l2gip(idxout(1:im),info,mask,owned)
if (is > im) then
write(0,*) 'l2gv2 err -3'
info = -3
@ -279,7 +279,7 @@ contains
end if
idxv(1) = idx
call idxmap%g2l(idxv,info,owned=owned)
call idxmap%g2lip(idxv,info,owned=owned)
idx = idxv(1)
end subroutine hash_g2ls1
@ -294,7 +294,7 @@ contains
logical, intent(in), optional :: owned
idxout = idxin
call idxmap%g2l(idxout,info,mask,owned)
call idxmap%g2lip(idxout,info,mask,owned)
end subroutine hash_g2ls2
@ -429,7 +429,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%g2l(idxout(1:im),info,mask,owned)
call idxmap%g2lip(idxout(1:im),info,mask,owned)
if (is > im) then
write(0,*) 'g2lv2 err -3'
info = -3
@ -459,9 +459,9 @@ contains
idxv(1) = idx
if (present(lidx)) then
lidxv(1) = lidx
call idxmap%g2l_ins(idxv,info,lidx=lidxv)
call idxmap%g2lip_ins(idxv,info,lidx=lidxv)
else
call idxmap%g2l_ins(idxv,info)
call idxmap%g2lip_ins(idxv,info)
end if
idx = idxv(1)
@ -478,7 +478,7 @@ contains
idxout = idxin
call idxmap%g2l_ins(idxout,info,mask=mask,lidx=lidx)
call idxmap%g2lip_ins(idxout,info,mask=mask,lidx=lidx)
end subroutine hash_g2ls2_ins
@ -740,7 +740,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%g2l_ins(idxout(1:im),info,mask=mask,lidx=lidx)
call idxmap%g2lip_ins(idxout(1:im),info,mask=mask,lidx=lidx)
if (is > im) then
write(0,*) 'g2lv2_ins err -3'
info = -3

@ -163,20 +163,22 @@ module psb_indx_map_mod
procedure, pass(idxmap) :: l2gs2 => base_l2gs2
procedure, pass(idxmap) :: l2gv1 => base_l2gv1
procedure, pass(idxmap) :: l2gv2 => base_l2gv2
generic, public :: l2g => l2gs1, l2gs2, l2gv1, l2gv2
generic, public :: l2g => l2gs2, l2gv2
generic, public :: l2gip => l2gs1, l2gv1
procedure, pass(idxmap) :: g2ls1 => base_g2ls1
procedure, pass(idxmap) :: g2ls2 => base_g2ls2
procedure, pass(idxmap) :: g2lv1 => base_g2lv1
procedure, pass(idxmap) :: g2lv2 => base_g2lv2
generic, public :: g2l => g2ls1, g2ls2, g2lv1, g2lv2
generic, public :: g2l => g2ls2, g2lv2
generic, public :: g2lip => g2ls1, g2lv1
procedure, pass(idxmap) :: g2ls1_ins => base_g2ls1_ins
procedure, pass(idxmap) :: g2ls2_ins => base_g2ls2_ins
procedure, pass(idxmap) :: g2lv1_ins => base_g2lv1_ins
procedure, pass(idxmap) :: g2lv2_ins => base_g2lv2_ins
generic, public :: g2l_ins => g2ls1_ins, g2ls2_ins,&
& g2lv1_ins, g2lv2_ins
generic, public :: g2l_ins => g2ls2_ins, g2lv2_ins
generic, public :: g2lip_ins => g2ls1_ins, g2lv1_ins
procedure, pass(idxmap) :: fnd_owner => psb_indx_map_fnd_owner
procedure, pass(idxmap) :: init_vl => base_init_vl

@ -133,7 +133,7 @@ contains
end if
idxv(1) = idx
call idxmap%l2g(idxv,info,owned=owned)
call idxmap%l2gip(idxv,info,owned=owned)
idx = idxv(1)
end subroutine list_l2gs1
@ -148,7 +148,7 @@ contains
logical, intent(in), optional :: owned
idxout = idxin
call idxmap%l2g(idxout,info,mask,owned)
call idxmap%l2gip(idxout,info,mask,owned)
end subroutine list_l2gs2
@ -221,7 +221,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%l2g(idxout(1:im),info,mask,owned)
call idxmap%l2gip(idxout(1:im),info,mask,owned)
if (is > im) info = -3
end subroutine list_l2gv2
@ -242,7 +242,7 @@ contains
end if
idxv(1) = idx
call idxmap%g2l(idxv,info,owned=owned)
call idxmap%g2lip(idxv,info,owned=owned)
idx = idxv(1)
end subroutine list_g2ls1
@ -257,7 +257,7 @@ contains
logical, intent(in), optional :: owned
idxout = idxin
call idxmap%g2l(idxout,info,mask,owned)
call idxmap%g2lip(idxout,info,mask,owned)
end subroutine list_g2ls2
@ -342,7 +342,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%g2l(idxout(1:im),info,mask,owned)
call idxmap%g2lip(idxout(1:im),info,mask,owned)
if (is > im) info = -3
end subroutine list_g2lv2
@ -368,9 +368,9 @@ contains
idxv(1) = idx
if (present(lidx)) then
lidxv(1) = lidx
call idxmap%g2l_ins(idxv,info,lidx=lidxv)
call idxmap%g2lip_ins(idxv,info,lidx=lidxv)
else
call idxmap%g2l_ins(idxv,info)
call idxmap%g2lip_ins(idxv,info)
end if
idx = idxv(1)
@ -387,7 +387,7 @@ contains
integer, intent(in), optional :: lidx
idxout = idxin
call idxmap%g2l_ins(idxout,info,mask=mask,lidx=lidx)
call idxmap%g2lip_ins(idxout,info,mask=mask,lidx=lidx)
end subroutine list_g2ls2_ins
@ -545,7 +545,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%g2l_ins(idxout(1:im),info,mask=mask,lidx=lidx)
call idxmap%g2lip_ins(idxout(1:im),info,mask=mask,lidx=lidx)
if (is > im) info = -3
end subroutine list_g2lv2_ins

@ -117,7 +117,7 @@ contains
end if
idxv(1) = idx
call idxmap%l2g(idxv,info,owned=owned)
call idxmap%l2gip(idxv,info,owned=owned)
idx = idxv(1)
end subroutine repl_l2gs1
@ -132,7 +132,7 @@ contains
logical, intent(in), optional :: owned
idxout = idxin
call idxmap%l2g(idxout,info,mask,owned)
call idxmap%l2gip(idxout,info,mask,owned)
end subroutine repl_l2gs2
@ -199,7 +199,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%l2g(idxout(1:im),info,mask,owned)
call idxmap%l2gip(idxout(1:im),info,mask,owned)
if (is > im) info = -3
end subroutine repl_l2gv2
@ -220,7 +220,7 @@ contains
end if
idxv(1) = idx
call idxmap%g2l(idxv,info,owned=owned)
call idxmap%g2lip(idxv,info,owned=owned)
idx = idxv(1)
end subroutine repl_g2ls1
@ -235,7 +235,7 @@ contains
logical, intent(in), optional :: owned
idxout = idxin
call idxmap%g2l(idxout,info,mask,owned)
call idxmap%g2lip(idxout,info,mask,owned)
end subroutine repl_g2ls2
@ -335,7 +335,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%g2l(idxout(1:im),info,mask,owned)
call idxmap%g2lip(idxout(1:im),info,mask,owned)
if (is > im) info = -3
end subroutine repl_g2lv2
@ -361,9 +361,9 @@ contains
idxv(1) = idx
if (present(lidx)) then
lidxv(1) = lidx
call idxmap%g2l_ins(idxv,info,lidx=lidxv)
call idxmap%g2lip_ins(idxv,info,lidx=lidxv)
else
call idxmap%g2l_ins(idxv,info)
call idxmap%g2lip_ins(idxv,info)
end if
idx = idxv(1)
@ -379,7 +379,7 @@ contains
integer, intent(in), optional :: lidx
idxout = idxin
call idxmap%g2l_ins(idxout,info,mask=mask,lidx=lidx)
call idxmap%g2lip_ins(idxout,info,mask=mask,lidx=lidx)
end subroutine repl_g2ls2_ins
@ -484,7 +484,7 @@ contains
is = size(idxin)
im = min(is,size(idxout))
idxout(1:im) = idxin(1:im)
call idxmap%g2l_ins(idxout(1:im),info,mask=mask,lidx=lidx)
call idxmap%g2lip_ins(idxout(1:im),info,mask=mask,lidx=lidx)
if (is > im) info = -3
end subroutine repl_g2lv2_ins

Loading…
Cancel
Save