Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine fcn_parallel_input_wrapper(me,x)class(simulated_annealing_type),intent(inout)::mereal(wp),dimension(:,:),intent(in)::xselect type(me)type is(c_sa_wrapper_type)! Pass dimensions matching Fortran x(n, n_inputs) so C interprets as x[n_inputs][n]call me%c_fcn_parallel_input_ptr(me%iproblem,x,size(x,1),size(x,2))end select end subroutine fcn_parallel_input_wrapper