Performs a fill operation on a single array of DP vectors with shape (NDIM, n) This is the inverse of a spill operation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=DP), | intent(inout), | dimension(:,:), allocatable | :: | keeps |
Array of values to keep |
|
| real(kind=DP), | intent(in), | dimension(:,:), allocatable | :: | inserts |
Array of values to insert into keep |
|
| logical, | intent(in), | dimension(:) | :: | lfill_list |
Logical array of bodies to merge into the keeps |
subroutine base_util_fill_arr_DPvec(keeps, inserts, lfill_list) !! author: David A. Minton !! !! Performs a fill operation on a single array of DP vectors with shape (NDIM, n) !! This is the inverse of a spill operation implicit none ! Arguments real(DP), dimension(:,:), allocatable, intent(inout) :: keeps !! Array of values to keep real(DP), dimension(:,:), allocatable, intent(in) :: inserts !! Array of values to insert into keep logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps ! Internals integer(I4B) :: i if (.not.allocated(keeps) .or. .not.allocated(inserts)) return do i = 1, NDIM keeps(i,:) = unpack(keeps(i,:), .not.lfill_list(:), keeps(i,:)) keeps(i,:) = unpack(inserts(i,:), lfill_list(:), keeps(i,:)) end do return end subroutine base_util_fill_arr_DPvec