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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
integer(c_int)function beach_kernel_eval_e(handle,ntarget,target_pos_ptr,e_ptr)&bind(C,name='beach_kernel_eval_e')result(status)type(c_ptr),value::handleinteger(c_int),value::ntargettype(c_ptr),value::target_pos_ptrtype(c_ptr),value::e_ptrtype(field_kernel_handle),pointer::kernelreal(c_double),pointer::target_pos(:,:)real(c_double),pointer::e(:,:)status=require_charged_kernel(handle,kernel)if(status/=beach_kernel_ok)return if(ntarget<0_c_int.or..not.c_associated(target_pos_ptr).or..not.c_associated(e_ptr))thenstatus=beach_kernel_invalid_argumentreturn end if if(ntarget==0_c_int)return call c_f_pointer(target_pos_ptr,target_pos,[3,int(ntarget)])call c_f_pointer(e_ptr,e,[3,int(ntarget)])call eval_points(kernel%plan,kernel%state,target_pos,e)e=k_coulomb*estatus=beach_kernel_okend function beach_kernel_eval_e