| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | name |
integer function find_or_create_timer(name) result(idx) character(len=*), intent(in) :: name integer :: i do i = 1, ntimers if (trim(timers(i)%name) == trim(name)) then idx = i return end if end do if (ntimers >= MAX_TIMERS) then write(error_unit,'(a)') 'profiler: MAX_TIMERS exceeded' error stop 1 end if ntimers = ntimers + 1 timers(ntimers)%name = trim(name) timers(ntimers)%calls = 0 timers(ntimers)%total_time = 0.0_rk idx = ntimers end function find_or_create_timer