pub unsafe fn cuestOverlapDerivativeComputeWorkspaceQuery(
handle: cuestHandle_t,
plan: cuestOEIntPlan_t,
parameters: cuestOverlapDerivativeComputeParameters_t,
temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
densityMatrix: *const f64,
outGradient: *mut f64,
) -> cuestStatus_tExpand description
@brief Query the temporary workspace required (in bytes) for overlap matrix gradient calculation. @ingroup OverlapGrad
This function computes the workspace requirements of a single gradient evaluation, based on the supplied plan and dimensions. The workspace descriptor is filled with host and device memory requirements. Output buffers may be NULL for the purposes of the query.
@param[in] handle cuEST handle. Must not be NULL. @param[in] plan One-electron integral computation plan (opaque handle). Must not be NULL. @param[in] parameters Compute parameters (\c cuestOverlapDerivativeComputeParameters_t). Must not be NULL @param[out] temporaryWorkspaceDescriptor Output descriptor for temporary workspace sizes. Must not be NULL. @param densityMatrix Optional density matrix pointer (may be NULL). @param outGradient Optional buffer for computed gradient (may be NULL).
@return
- \c CUEST_STATUS_SUCCESS on success;
- \c CUEST_STATUS_INVALID_HANDLE if the cuEST handle is NULL;
- \c CUEST_STATUS_NULL_POINTER if any required pointer is NULL;
- \c CUEST_STATUS_INVALID_TYPE if opaque handles are not the correct type;
- \c CUEST_STATUS_EXCEPTION or \c CUEST_STATUS_UNKNOWN_ERROR otherwise.