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_phi(handle,ntarget,target_pos_ptr,phi_ptr)&bind(C,name='beach_kernel_eval_phi')result(status)type(c_ptr),value::handleinteger(c_int),value::ntargettype(c_ptr),value::target_pos_ptrtype(c_ptr),value::phi_ptrtype(field_kernel_handle),pointer::kernelreal(c_double),pointer::target_pos(:,:)real(c_double),pointer::phi(:)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(phi_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(phi_ptr,phi,[int(ntarget)])call eval_potential_points(kernel%plan,kernel%state,target_pos,phi)phi=k_coulomb*phistatus=beach_kernel_okend function beach_kernel_eval_phi