Skip to main content

cuestECPShellCreate

Function cuestECPShellCreate 

Source
pub unsafe fn cuestECPShellCreate(
    handle: cuestHandle_t,
    L: u64,
    numPrimitive: u64,
    radialPowers: *const u64,
    coefficients: *const f64,
    exponents: *const f64,
    parameters: cuestECPShellParameters_t,
    outECPShell: *mut cuestECPShell_t,
) -> cuestStatus_t
Expand description

@brief Create an ECP shell object with specified parameters. @ingroup ECP

@param[in] handle cuEST handle. Must not be NULL. @param[in] L Angular momentum quantum number (s=0, p=1, d=2, etc). @param[in] numPrimitive Number of primitives; must be greater than zero. @param[in] radialPowers Pointer to array containing radial powers (size: \c numPrimitive) on the CPU. Elements must be non-negative integers, e.g. >= 0. Must not be NULL. @param[in] coefficients Pointer to array containing coefficients (size: \c numPrimitive) on the CPU. Must not be NULL. @param[in] exponents Pointer to array containing exponents (size: \c numPrimitive) on the CPU. Elements must be strictly positive and finite, e.g. > 0. Must not be NULL. @param[in] parameters Handle to \c cuestECPShellParameters_t. Must not be NULL. @param[out] outECPShell Pointer to output shell object; receives opaque handle on success. Must not be NULL.

All objects on CPU.

@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 the cuEST handle or parameters are not of the correct type;
  • \c CUEST_STATUS_INVALID_ARGUMENT if \c numPrimitive is zero, or if any exponent is not strictly positive and finite (> 0);
  • \c CUEST_STATUS_EXCEPTION for unexpected error;
  • \c CUEST_STATUS_UNKNOWN_ERROR for non-std exceptions.