base_util_fill_arr_logical Subroutine

public subroutine base_util_fill_arr_logical(keeps, inserts, lfill_list)

Performs a fill operation on a single array of logicals This is the inverse of a spill operation

Arguments

Type IntentOptional Attributes Name
logical, intent(inout), dimension(:), allocatable :: keeps

Array of values to keep

logical, 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


Called by

proc~~base_util_fill_arr_logical~~CalledByGraph proc~base_util_fill_arr_logical base_util_fill_arr_logical interface~util_fill util_fill interface~util_fill->proc~base_util_fill_arr_logical

Source Code

      subroutine base_util_fill_arr_logical(keeps, inserts, lfill_list)
         !! author: David A. Minton 
         !! 
         !! Performs a fill operation on a single array of logicals 
         !! This is the inverse of a spill operation 
         implicit none
         ! Arguments
         logical, dimension(:), allocatable, intent(inout) :: keeps      
            !! Array of values to keep  
         logical, 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 
   
         if (.not.allocated(keeps) .or. .not.allocated(inserts)) return
   
         keeps(:) = unpack(keeps(:),   .not.lfill_list(:), keeps(:))
         keeps(:) = unpack(inserts(:),      lfill_list(:), keeps(:))
   
         return
      end subroutine base_util_fill_arr_logical