fill_vector_dp Subroutine

private subroutine fill_vector_dp(vector, alpha, threaded)

fill a vector of datatype dp with a value

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: vector(:)
real(kind=dp), intent(in) :: alpha
logical, intent(in), optional :: threaded

Calls

proc~~fill_vector_dp~~CallsGraph proc~fill_vector_dp fill_vector_dp interface~pic_optional pic_optional proc~fill_vector_dp->interface~pic_optional proc~optional_char optional_char interface~pic_optional->proc~optional_char proc~optional_dp optional_dp interface~pic_optional->proc~optional_dp proc~optional_int32 optional_int32 interface~pic_optional->proc~optional_int32 proc~optional_int64 optional_int64 interface~pic_optional->proc~optional_int64 proc~optional_logical optional_logical interface~pic_optional->proc~optional_logical proc~optional_sp optional_sp interface~pic_optional->proc~optional_sp

Called by

proc~~fill_vector_dp~~CalledByGraph proc~fill_vector_dp fill_vector_dp interface~pic_fill pic_fill interface~pic_fill->proc~fill_vector_dp

Variables

Type Visibility Attributes Name Initial
integer(kind=default_int), private :: i
logical, private :: use_threads

Source Code

   subroutine fill_vector_dp(vector, alpha, threaded)
        !! fill a vector of datatype dp with a value
      real(dp), intent(inout) :: vector(:)
      real(dp), intent(in)    :: alpha
      logical, intent(in), optional :: threaded
      logical :: use_threads
      integer(default_int) :: i

      use_threads = pic_optional(threaded, use_threaded_default)
      if (use_threads) then
         !$omp parallel do collapse(1) private(i)
         do i = 1, size(vector, 1)
            vector(i) = alpha
         end do
         !$omp end parallel do
      else
         vector = alpha
      end if

   end subroutine fill_vector_dp