1 | #include "xios_fortran_prefix.hpp" |
---|
2 | |
---|
3 | MODULE ITIMER |
---|
4 | USE, INTRINSIC :: ISO_C_BINDING |
---|
5 | USE TIMER_INTERFACE |
---|
6 | USE LOGICAL_BOOL_CONVERSION |
---|
7 | |
---|
8 | CONTAINS ! Fonctions disponibles pour les utilisateurs. |
---|
9 | |
---|
10 | SUBROUTINE xios(timer_resume)(timer_id, trace) |
---|
11 | IMPLICIT NONE |
---|
12 | CHARACTER(len = *) , INTENT(IN) :: timer_id |
---|
13 | LOGICAL, OPTIONAL,INTENT(IN) :: trace |
---|
14 | LOGICAL (KIND=C_BOOL) :: trace_ |
---|
15 | |
---|
16 | trace_=.TRUE. |
---|
17 | IF (PRESENT(trace)) trace_ = trace |
---|
18 | CALL xios_logical_to_bool_0d(trace_) |
---|
19 | CALL cxios_timer_resume(timer_id, len(timer_id),trace_) |
---|
20 | |
---|
21 | END SUBROUTINE xios(timer_resume) |
---|
22 | |
---|
23 | SUBROUTINE xios(timer_suspend)(timer_id, trace) |
---|
24 | IMPLICIT NONE |
---|
25 | CHARACTER(len = *) , INTENT(IN) :: timer_id |
---|
26 | LOGICAL, OPTIONAL,INTENT(IN) :: trace |
---|
27 | LOGICAL (KIND=C_BOOL) :: trace_ |
---|
28 | |
---|
29 | trace_=.TRUE. |
---|
30 | IF (PRESENT(trace)) trace_ = trace |
---|
31 | CALL xios_logical_to_bool_0d(trace_) |
---|
32 | CALL cxios_timer_suspend(timer_id, len(timer_id),trace_) |
---|
33 | |
---|
34 | END SUBROUTINE xios(timer_suspend) |
---|
35 | |
---|
36 | SUBROUTINE xios(timer_reset)(timer_id) |
---|
37 | IMPLICIT NONE |
---|
38 | CHARACTER(len = *) , INTENT(IN) :: timer_id |
---|
39 | |
---|
40 | CALL cxios_timer_reset(timer_id, len(timer_id)) |
---|
41 | |
---|
42 | END SUBROUTINE xios(timer_reset) |
---|
43 | |
---|
44 | FUNCTION xios(timer_get_time)(timer_id) RESULT(time) |
---|
45 | IMPLICIT NONE |
---|
46 | CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timer_id |
---|
47 | REAL :: time |
---|
48 | REAL(KIND=C_DOUBLE) :: time_ |
---|
49 | |
---|
50 | IF (PRESENT(timer_id)) THEN |
---|
51 | CALL cxios_timer_get_cumulated_time(timer_id, len(timer_id),time_) |
---|
52 | ELSE |
---|
53 | CALL cxios_timer_get_time(time_) |
---|
54 | ENDIF |
---|
55 | time=time_ |
---|
56 | END FUNCTION xios(timer_get_time) |
---|
57 | |
---|
58 | END MODULE ITIMER |
---|