| 1 |
utke |
1.1 |
module OAD_rev |
| 2 |
|
|
|
| 3 |
|
|
implicit none |
| 4 |
|
|
|
| 5 |
|
|
private |
| 6 |
|
|
public :: modeType, our_rev_mode, our_indent, splitPrint, oad_dump_revmod |
| 7 |
|
|
!, forward_mode, & |
| 8 |
|
|
!& forward_arg_store_mode, reverse_mode, adjoint_mode, taping_mode, restore_mode |
| 9 |
|
|
|
| 10 |
|
|
type modeType |
| 11 |
|
|
logical :: arg_store=.FALSE. |
| 12 |
|
|
logical :: arg_restore=.FALSE. |
| 13 |
|
|
logical :: res_store=.FALSE. |
| 14 |
|
|
logical :: res_restore=.FALSE. |
| 15 |
|
|
logical :: plain=.FALSE. |
| 16 |
|
|
logical :: tape=.FALSE. |
| 17 |
|
|
logical :: adjoint=.FALSE. |
| 18 |
|
|
logical :: switchedToCheckpoint=.FALSE. |
| 19 |
|
|
logical :: strictAnonymous=.TRUE. |
| 20 |
|
|
end type modeType |
| 21 |
|
|
|
| 22 |
|
|
type(modeType), save :: our_rev_mode |
| 23 |
|
|
integer, save:: our_indent=0 |
| 24 |
|
|
logical, save:: splitPrint=.false. |
| 25 |
|
|
|
| 26 |
|
|
interface oad_dump_revmod |
| 27 |
|
|
module procedure dump_revmod |
| 28 |
|
|
end interface |
| 29 |
|
|
|
| 30 |
|
|
contains |
| 31 |
|
|
|
| 32 |
|
|
subroutine dump_revmod() |
| 33 |
|
|
write(*,'(A,L,A,L,A,L,A,L,A,L,A,L)', ADVANCE='NO') & |
| 34 |
|
|
' As:',our_rev_mode%arg_store, & |
| 35 |
|
|
' Ar:',our_rev_mode%arg_restore, & |
| 36 |
|
|
' Pl:',our_rev_mode%plain, & |
| 37 |
|
|
' Ta:',our_rev_mode%tape, & |
| 38 |
|
|
' Ad:',our_rev_mode%adjoint, & |
| 39 |
|
|
' Sw:',our_rev_mode%switchedToCheckpoint |
| 40 |
|
|
end subroutine dump_revmod |
| 41 |
|
|
|
| 42 |
|
|
end module |