HaloSwap Subroutine

public subroutine HaloSwap(keys, elems, sides, flips, ranks, i, j)

Arguments

TypeIntentOptionalAttributesName
integer(kind=int64), intent(inout) :: keys(:)
integer, intent(inout) :: elems(:)
integer, intent(inout) :: sides(:)
integer, intent(inout) :: flips(:)
integer, intent(inout) :: ranks(:)
integer, intent(in) :: i
integer, intent(in) :: j

Called by

proc~~haloswap~~CalledByGraph proc~haloswap HaloSwap proc~halosiftdown HaloSiftDown proc~halosiftdown->proc~haloswap proc~halokeysort HaloKeySort proc~halokeysort->proc~haloswap proc~halokeysort->proc~halosiftdown proc~buildhaloexchange_domaindecomposition BuildHaloExchange_DomainDecomposition proc~buildhaloexchange_domaindecomposition->proc~halokeysort

Contents

Source Code


Source Code

  subroutine HaloSwap(keys,elems,sides,flips,ranks,i,j)
    implicit none
    integer(int64),intent(inout) :: keys(:)
    integer,intent(inout) :: elems(:),sides(:),flips(:),ranks(:)
    integer,intent(in) :: i,j
    ! Local
    integer(int64) :: k
    integer :: t

    k = keys(i); keys(i) = keys(j); keys(j) = k
    t = elems(i); elems(i) = elems(j); elems(j) = t
    t = sides(i); sides(i) = sides(j); sides(j) = t
    t = flips(i); flips(i) = flips(j); flips(j) = t
    t = ranks(i); ranks(i) = ranks(j); ranks(j) = t

  endsubroutine HaloSwap