Create new error handle object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | verror | |||
type(c_ptr), | value | :: | vmol | |||
character(kind=c_char, len=1), | intent(in), | optional | :: | cmethod(*) | ||
character(kind=c_char, len=1), | intent(in), | optional | :: | cbasis(*) |
function load_gcp_param_api(verror, vmol, cmethod, cbasis) & & result(vgcp) & & bind(C, name=namespace//"load_gcp_param") type(c_ptr), value :: verror type(vp_error), pointer :: error type(c_ptr), value :: vmol type(vp_structure), pointer :: mol character(kind=c_char), intent(in), optional :: cmethod(*) character(len=:, kind=c_char), allocatable :: method character(kind=c_char), intent(in), optional :: cbasis(*) character(len=:, kind=c_char), allocatable :: basis type(vp_gcp), pointer :: gcp type(c_ptr) :: vgcp vgcp = c_null_ptr if (.not.c_associated(verror)) return call c_f_pointer(verror, error) if (.not.c_associated(vmol)) then call fatal_error(error%ptr, "Molecular structure data is missing") return end if call c_f_pointer(vmol, mol) if (present(cmethod)) call c_f_character(cmethod, method) if (present(cbasis)) call c_f_character(cbasis, basis) allocate(gcp) call get_gcp_param(gcp%ptr, mol%ptr, method, basis) vgcp = c_loc(gcp) end function load_gcp_param_api