base/internals/psi_cswapdata.F90
 base/internals/psi_cswaptran.F90
 base/internals/psi_dswapdata.F90
 base/internals/psi_dswaptran.F90
 base/internals/psi_sswapdata.F90
 base/internals/psi_sswaptran.F90
 base/internals/psi_zswapdata.F90
 base/internals/psi_zswaptran.F90

Fixed leftovers from preprocessing.
psblas3-type-indexed
Salvatore Filippone 13 years ago
parent ba51d74952
commit 74957e72b4

@ -38,7 +38,9 @@
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a send on (PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a send on (PACK(SND(Y)));
@ -532,7 +534,9 @@ end subroutine psi_cswapidxm
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));

@ -30,9 +30,9 @@
!!$ !!$
!!$ !!$
! !
! File: psi_zswaptran.F90 ! File: psi_cswaptran.F90
! !
! Subroutine: psi_zswaptranm ! Subroutine: psi_cswaptranm
! Does the data exchange among processes. This is similar to Xswapdata, but ! Does the data exchange among processes. This is similar to Xswapdata, but
! the list is read "in reverse", i.e. indices that are normally SENT are used ! the list is read "in reverse", i.e. indices that are normally SENT are used
! for the RECEIVE part and vice-versa. This is the basic data exchange operation ! for the RECEIVE part and vice-versa. This is the basic data exchange operation
@ -42,7 +42,9 @@
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));
@ -85,9 +87,9 @@
! psb_comm_mov_ use ovr_mst_idx ! psb_comm_mov_ use ovr_mst_idx
! !
! !
subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data) subroutine psi_cswaptranm(flag,n,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptranm use psi_mod, psb_protect_name => psi_cswaptranm
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -157,11 +159,11 @@ subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptranm end subroutine psi_cswaptranm
subroutine psi_ztranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work,info) subroutine psi_ctranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidxm use psi_mod, psb_protect_name => psi_ctranidxm
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -522,10 +524,10 @@ subroutine psi_ztranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work
return return
end if end if
return return
end subroutine psi_ztranidxm end subroutine psi_ctranidxm
! !
! !
! Subroutine: psi_zswaptranv ! Subroutine: psi_cswaptranv
! Does the data exchange among processes. This is similar to Xswapdata, but ! Does the data exchange among processes. This is similar to Xswapdata, but
! the list is read "in reverse", i.e. indices that are normally SENT are used ! the list is read "in reverse", i.e. indices that are normally SENT are used
! for the RECEIVE part and vice-versa. This is the basic data exchange operation ! for the RECEIVE part and vice-versa. This is the basic data exchange operation
@ -535,7 +537,9 @@ end subroutine psi_ztranidxm
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));
@ -578,9 +582,9 @@ end subroutine psi_ztranidxm
! psb_comm_mov_ use ovr_mst_idx ! psb_comm_mov_ use ovr_mst_idx
! !
! !
subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data) subroutine psi_cswaptranv(flag,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptranv use psi_mod, psb_protect_name => psi_cswaptranv
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -649,13 +653,13 @@ subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptranv end subroutine psi_cswaptranv
subroutine psi_ztranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info) subroutine psi_ctranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidxv use psi_mod, psb_protect_name => psi_ctranidxv
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1016,12 +1020,12 @@ subroutine psi_ztranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,i
return return
end if end if
return return
end subroutine psi_ztranidxv end subroutine psi_ctranidxv
subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data) subroutine psi_cswaptran_vect(flag,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptran_vect use psi_mod, psb_protect_name => psi_cswaptran_vect
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1092,14 +1096,14 @@ subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptran_vect end subroutine psi_cswaptran_vect
subroutine psi_ztranidx_vect(ictxt,icomm,flag,beta,y,idx,& subroutine psi_ctranidx_vect(ictxt,icomm,flag,beta,y,idx,&
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidx_vect use psi_mod, psb_protect_name => psi_ctranidx_vect
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1462,7 +1466,7 @@ subroutine psi_ztranidx_vect(ictxt,icomm,flag,beta,y,idx,&
return return
end if end if
return return
end subroutine psi_ztranidx_vect end subroutine psi_ctranidx_vect

@ -38,7 +38,9 @@
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a send on (PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a send on (PACK(SND(Y)));
@ -532,7 +534,9 @@ end subroutine psi_dswapidxm
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));

@ -30,9 +30,9 @@
!!$ !!$
!!$ !!$
! !
! File: psi_zswaptran.F90 ! File: psi_dswaptran.F90
! !
! Subroutine: psi_zswaptranm ! Subroutine: psi_dswaptranm
! Does the data exchange among processes. This is similar to Xswapdata, but ! Does the data exchange among processes. This is similar to Xswapdata, but
! the list is read "in reverse", i.e. indices that are normally SENT are used ! the list is read "in reverse", i.e. indices that are normally SENT are used
! for the RECEIVE part and vice-versa. This is the basic data exchange operation ! for the RECEIVE part and vice-versa. This is the basic data exchange operation
@ -42,7 +42,9 @@
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));
@ -85,9 +87,9 @@
! psb_comm_mov_ use ovr_mst_idx ! psb_comm_mov_ use ovr_mst_idx
! !
! !
subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data) subroutine psi_dswaptranm(flag,n,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptranm use psi_mod, psb_protect_name => psi_dswaptranm
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -157,11 +159,11 @@ subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptranm end subroutine psi_dswaptranm
subroutine psi_ztranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work,info) subroutine psi_dtranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidxm use psi_mod, psb_protect_name => psi_dtranidxm
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -522,10 +524,10 @@ subroutine psi_ztranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work
return return
end if end if
return return
end subroutine psi_ztranidxm end subroutine psi_dtranidxm
! !
! !
! Subroutine: psi_zswaptranv ! Subroutine: psi_dswaptranv
! Does the data exchange among processes. This is similar to Xswapdata, but ! Does the data exchange among processes. This is similar to Xswapdata, but
! the list is read "in reverse", i.e. indices that are normally SENT are used ! the list is read "in reverse", i.e. indices that are normally SENT are used
! for the RECEIVE part and vice-versa. This is the basic data exchange operation ! for the RECEIVE part and vice-versa. This is the basic data exchange operation
@ -535,7 +537,9 @@ end subroutine psi_ztranidxm
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));
@ -578,9 +582,9 @@ end subroutine psi_ztranidxm
! psb_comm_mov_ use ovr_mst_idx ! psb_comm_mov_ use ovr_mst_idx
! !
! !
subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data) subroutine psi_dswaptranv(flag,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptranv use psi_mod, psb_protect_name => psi_dswaptranv
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -649,13 +653,13 @@ subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptranv end subroutine psi_dswaptranv
subroutine psi_ztranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info) subroutine psi_dtranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidxv use psi_mod, psb_protect_name => psi_dtranidxv
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1016,12 +1020,12 @@ subroutine psi_ztranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,i
return return
end if end if
return return
end subroutine psi_ztranidxv end subroutine psi_dtranidxv
subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data) subroutine psi_dswaptran_vect(flag,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptran_vect use psi_mod, psb_protect_name => psi_dswaptran_vect
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1092,14 +1096,14 @@ subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptran_vect end subroutine psi_dswaptran_vect
subroutine psi_ztranidx_vect(ictxt,icomm,flag,beta,y,idx,& subroutine psi_dtranidx_vect(ictxt,icomm,flag,beta,y,idx,&
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidx_vect use psi_mod, psb_protect_name => psi_dtranidx_vect
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1462,7 +1466,7 @@ subroutine psi_ztranidx_vect(ictxt,icomm,flag,beta,y,idx,&
return return
end if end if
return return
end subroutine psi_ztranidx_vect end subroutine psi_dtranidx_vect

@ -38,7 +38,9 @@
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a send on (PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a send on (PACK(SND(Y)));
@ -532,7 +534,9 @@ end subroutine psi_sswapidxm
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));

@ -30,9 +30,9 @@
!!$ !!$
!!$ !!$
! !
! File: psi_zswaptran.F90 ! File: psi_sswaptran.F90
! !
! Subroutine: psi_zswaptranm ! Subroutine: psi_sswaptranm
! Does the data exchange among processes. This is similar to Xswapdata, but ! Does the data exchange among processes. This is similar to Xswapdata, but
! the list is read "in reverse", i.e. indices that are normally SENT are used ! the list is read "in reverse", i.e. indices that are normally SENT are used
! for the RECEIVE part and vice-versa. This is the basic data exchange operation ! for the RECEIVE part and vice-versa. This is the basic data exchange operation
@ -42,7 +42,9 @@
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));
@ -85,9 +87,9 @@
! psb_comm_mov_ use ovr_mst_idx ! psb_comm_mov_ use ovr_mst_idx
! !
! !
subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data) subroutine psi_sswaptranm(flag,n,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptranm use psi_mod, psb_protect_name => psi_sswaptranm
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -157,11 +159,11 @@ subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptranm end subroutine psi_sswaptranm
subroutine psi_ztranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work,info) subroutine psi_stranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidxm use psi_mod, psb_protect_name => psi_stranidxm
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -522,10 +524,10 @@ subroutine psi_ztranidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work
return return
end if end if
return return
end subroutine psi_ztranidxm end subroutine psi_stranidxm
! !
! !
! Subroutine: psi_zswaptranv ! Subroutine: psi_sswaptranv
! Does the data exchange among processes. This is similar to Xswapdata, but ! Does the data exchange among processes. This is similar to Xswapdata, but
! the list is read "in reverse", i.e. indices that are normally SENT are used ! the list is read "in reverse", i.e. indices that are normally SENT are used
! for the RECEIVE part and vice-versa. This is the basic data exchange operation ! for the RECEIVE part and vice-versa. This is the basic data exchange operation
@ -535,7 +537,9 @@ end subroutine psi_ztranidxm
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));
@ -578,9 +582,9 @@ end subroutine psi_ztranidxm
! psb_comm_mov_ use ovr_mst_idx ! psb_comm_mov_ use ovr_mst_idx
! !
! !
subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data) subroutine psi_sswaptranv(flag,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptranv use psi_mod, psb_protect_name => psi_sswaptranv
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -649,13 +653,13 @@ subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptranv end subroutine psi_sswaptranv
subroutine psi_ztranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info) subroutine psi_stranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidxv use psi_mod, psb_protect_name => psi_stranidxv
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1016,12 +1020,12 @@ subroutine psi_ztranidxv(ictxt,icomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,i
return return
end if end if
return return
end subroutine psi_ztranidxv end subroutine psi_stranidxv
subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data) subroutine psi_sswaptran_vect(flag,beta,y,desc_a,work,info,data)
use psi_mod, psb_protect_name => psi_zswaptran_vect use psi_mod, psb_protect_name => psi_sswaptran_vect
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1092,14 +1096,14 @@ subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end if end if
return return
end subroutine psi_zswaptran_vect end subroutine psi_sswaptran_vect
subroutine psi_ztranidx_vect(ictxt,icomm,flag,beta,y,idx,& subroutine psi_stranidx_vect(ictxt,icomm,flag,beta,y,idx,&
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_ztranidx_vect use psi_mod, psb_protect_name => psi_stranidx_vect
use psb_error_mod use psb_error_mod
use psb_descriptor_type use psb_descriptor_type
use psb_penv_mod use psb_penv_mod
@ -1462,7 +1466,7 @@ subroutine psi_ztranidx_vect(ictxt,icomm,flag,beta,y,idx,&
return return
end if end if
return return
end subroutine psi_ztranidx_vect end subroutine psi_stranidx_vect

@ -38,7 +38,9 @@
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a send on (PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a send on (PACK(SND(Y)));
@ -532,7 +534,9 @@ end subroutine psi_zswapidxm
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));

@ -42,7 +42,9 @@
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));
@ -535,7 +537,9 @@ end subroutine psi_ztranidxm
! it is capable of pruning empty exchanges, which are very likely in out ! it is capable of pruning empty exchanges, which are very likely in out
! application environment. All the variants have the same structure ! application environment. All the variants have the same structure
! In all these subroutines X may be: I Integer ! In all these subroutines X may be: I Integer
! S real(psb_spk_)
! D real(psb_dpk_) ! D real(psb_dpk_)
! C complex(psb_spk_)
! Z complex(psb_dpk_) ! Z complex(psb_dpk_)
! Basically the operation is as follows: on each process, we identify ! Basically the operation is as follows: on each process, we identify
! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y))); ! sections SND(Y) and RCV(Y); then we do a SEND(PACK(SND(Y)));

Loading…
Cancel
Save