subroutine template() use OpenAD_checkpoints use OpenAD_tape use OpenAD_rev !$TEMPLATE_PRAGMA_DECLARATIONS integer :: cp_loop_variable_1,cp_loop_variable_2, + cp_loop_variable_3,cp_loop_variable_4 integer iaddr external iaddr character*(80):: indentation=' + ' our_indent=our_indent+1 if (splitPrint) then write(*, +'(A,A,A,A,L,A,L,A,L,A,L,A,L,A,L,A,I6,A,I6,A,I6,A,I6,A,I8,A,I8)') +'JU:',indentation(1:our_indent), 'enter __SRNAME__:', +' As:',our_rev_mode%arg_store, +' Ar:',our_rev_mode%arg_restore, +' Pl:',our_rev_mode%plain, +' Ta:',our_rev_mode%tape, +' Ad:',our_rev_mode%adjoint, +' Sw:',our_rev_mode%switchedToCheckpoint, +' CD:',cp_double_pointer, +' CI:',cp_integer_pointer, +' CB:',cp_boolean_pointer, +' CS:',cp_string_pointer, +' TD:',double_tape_pointer, +' TI:',integer_tape_pointer end if if (our_rev_mode%plain) then c write(*,'(A,A,A)') c +'JU:',indentation(1:our_indent), " __SRNAME__: entering plain" !$PLACEHOLDER_PRAGMA$ id=1 end if if (our_rev_mode%tape) then c write(*,'(A,A,A)') c +'JU:',indentation(1:our_indent), " __SRNAME__: entering tape" !$PLACEHOLDER_PRAGMA$ id=2 end if if (our_rev_mode%adjoint) then c write(*,'(A,A,A)') c +'JU:',indentation(1:our_indent), " __SRNAME__: entering adjoint" !$PLACEHOLDER_PRAGMA$ id=3 end if if (splitPrint) then write(*, +'(A,A,A,A,L,A,L,A,L,A,L,A,L,A,L,A,I6,A,I6,A,I6,A,I6,A,I8,A,I8)') +'JU:',indentation(1:our_indent), 'leave __SRNAME__:', +' As:',our_rev_mode%arg_store, +' Ar:',our_rev_mode%arg_restore, +' Pl:',our_rev_mode%plain, +' Ta:',our_rev_mode%tape, +' Ad:',our_rev_mode%adjoint, +' Sw:',our_rev_mode%switchedToCheckpoint, +' CD:',cp_double_pointer, +' CI:',cp_integer_pointer, +' CB:',cp_boolean_pointer, +' CS:',cp_string_pointer, +' TD:',double_tape_pointer, +' TI:',integer_tape_pointer end if our_indent=our_indent-1 end subroutine template