//! Base types and constants for dynamic loading.
//!
//! This file is generated automatically by `scripts/generate_ffi.py`; do not
//! edit it manually.
#![allow(non_camel_case_types)]
/* automatically generated by rust-bindgen 0.73.2 */
pub const CUEST_VER_MAJOR: u32 = 0;
pub const CUEST_VER_MINOR: u32 = 2;
pub const CUEST_VER_PATCH: u32 = 2;
pub const CUEST_VERSION: u32 = 202;
#[doc = "< Success: Operation completed with no error"]
pub const CUEST_STATUS_SUCCESS: cuestStatus_t = cuestStatus_t(0);
#[doc = "< An exception was thrown during the operation"]
pub const CUEST_STATUS_EXCEPTION: cuestStatus_t = cuestStatus_t(1);
#[doc = "< One or more required input pointers were NULL"]
pub const CUEST_STATUS_NULL_POINTER: cuestStatus_t = cuestStatus_t(2);
#[doc = "< One or more arguments were invalid (e.g., out-of-range, zero-length)"]
pub const CUEST_STATUS_INVALID_ARGUMENT: cuestStatus_t = cuestStatus_t(3);
#[doc = "< Input buffer/argument size did not match expected size"]
pub const CUEST_STATUS_INVALID_SIZE: cuestStatus_t = cuestStatus_t(4);
#[doc = "< The specified cuEST type does not exist"]
pub const CUEST_STATUS_INVALID_TYPE: cuestStatus_t = cuestStatus_t(5);
#[doc = "< The parameter being queried/set is invalid"]
pub const CUEST_STATUS_INVALID_PARAMETER: cuestStatus_t = cuestStatus_t(6);
#[doc = "< The attribute being queried is invalid"]
pub const CUEST_STATUS_INVALID_ATTRIBUTE: cuestStatus_t = cuestStatus_t(7);
#[doc = "< The cuEST handle passed to the function is invalid"]
pub const CUEST_STATUS_INVALID_HANDLE: cuestStatus_t = cuestStatus_t(8);
#[doc = "< Unspecified error: unknown or unexpected condition"]
pub const CUEST_STATUS_UNKNOWN_ERROR: cuestStatus_t = cuestStatus_t(9);
#[doc = "< One or more arguments are not supported by cuEST"]
pub const CUEST_STATUS_UNSUPPORTED_ARGUMENT: cuestStatus_t = cuestStatus_t(10);
#[doc = "< The device architecture is not supported by cuEST"]
pub const CUEST_STATUS_UNSUPPORTED_ARCHITECTURE: cuestStatus_t = cuestStatus_t(11);
#[doc = "< One or more of the plans passed to the function were not in a usable state"]
pub const CUEST_STATUS_INVALID_PLAN: cuestStatus_t = cuestStatus_t(12);
#[doc = "< The HOME environment variable is not set or empty, so the default JIT cache directory cannot be derived"]
pub const CUEST_STATUS_HOME_NOT_FOUND: cuestStatus_t = cuestStatus_t(13);
#[repr(transparent)]
#[doc = " @brief Enum containing all possible cuEST API return status codes.\n @ingroup Enums\n\n Most API functions return one of these values to indicate error or success state."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestStatus_t(pub ::core::ffi::c_uint);
#[doc = " @brief Opaque handle representing the cuEST library context.\n @ingroup TypeDefs"]
pub type cuestHandle_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing a single atomic orbital (AO) Gaussian shell.\n See \\c cuestAOShellAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestAOShell_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing an atomic orbital (AO) basis set (group of AO shells).\n See \\c cuestAOBasisAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestAOBasis_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing a pair list of atomic orbitals.\n No attributes may be queried from this handle at this time.\n @ingroup TypeDefs"]
pub type cuestAOPairList_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing a single ECP shell.\n See \\c cuestECPShellAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestECPShell_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing an ECP Atom (group of ECP shells).\n See \\c cuestECPAtomAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestECPAtom_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle for a one-electron integral computation plan (e.g., overlap integrals, kinetic integrals).\n No attributes may be queried from this handle at this time.\n @ingroup TypeDefs"]
pub type cuestOEIntPlan_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle for an effective core potential (ECP) integral computation plan.\n See \\c cuestECPIntPlanAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestECPIntPlan_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle for a density-fitted integral computation plan (for DF/RI approaches).\n No attributes may be queried from this handle at this time.\n @ingroup TypeDefs"]
pub type cuestDFIntPlan_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the radial and angular grid points centered at a single atom\n center.\n See \\c cuestAtomGridAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestAtomGrid_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the DFT integration grid for a molecule.\n See \\c cuestMolecularGridAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestMolecularGrid_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle for an XC integral computation plan (e.g. XC potential and gradients).\n See \\c cuestXCIntPlanAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestXCIntPlan_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle for a PCM integral computation plan (e.g. PCM potential and gradients).\n See \\c cuestPCMIntPlanAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestPCMIntPlan_t = *mut ::core::ffi::c_void;
#[doc = "< Alias for cuestHandle_t"]
pub const CUEST_HANDLE: cuestType_t = cuestType_t(0);
#[doc = "< Alias for cuestAOShell_t"]
pub const CUEST_AOSHELL: cuestType_t = cuestType_t(1);
#[doc = "< Alias for cuestAOBasis_t"]
pub const CUEST_AOBASIS: cuestType_t = cuestType_t(2);
#[doc = "< Alias for cuestAOPairList_t"]
pub const CUEST_AOPAIRLIST: cuestType_t = cuestType_t(3);
#[doc = "< Alias for cuestOEIntPlan_t"]
pub const CUEST_OEINTPLAN: cuestType_t = cuestType_t(4);
#[doc = "< Alias for cuestDFIntPlan_t"]
pub const CUEST_DFINTPLAN: cuestType_t = cuestType_t(5);
#[doc = "< Alias for cuestAtomGrid_t"]
pub const CUEST_ATOMGRID: cuestType_t = cuestType_t(6);
#[doc = "< Alias for cuestMolecularGrid_t"]
pub const CUEST_MOLECULARGRID: cuestType_t = cuestType_t(7);
#[doc = "< Alias for cuestXCIntPlan_t"]
pub const CUEST_XCINTPLAN: cuestType_t = cuestType_t(8);
#[doc = "< Alias for cuestPCMIntPlan_t"]
pub const CUEST_PCMINTPLAN: cuestType_t = cuestType_t(9);
#[doc = "< Alias for cuestECPShell_t"]
pub const CUEST_ECPSHELL: cuestType_t = cuestType_t(10);
#[doc = "< Alias for cuestECPAtom_t"]
pub const CUEST_ECPATOM: cuestType_t = cuestType_t(11);
#[doc = "< Alias for cuestECPIntPlan_t"]
pub const CUEST_ECPINTPLAN: cuestType_t = cuestType_t(12);
#[repr(transparent)]
#[doc = " @brief Enum that provides unique identifiers for each of the opaque handles.\n @ingroup Enums\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestType_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_HANDLE_NONE: cuestHandleAttributes_t = cuestHandleAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST handle object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_HANDLE_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestHandleAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Whether shell uses pure (spherical) functions (nonzero if true)"]
pub const CUEST_AOSHELL_IS_PURE: cuestAOShellAttributes_t = cuestAOShellAttributes_t(0);
#[doc = "< Angular momentum quantum number (L)"]
pub const CUEST_AOSHELL_L: cuestAOShellAttributes_t = cuestAOShellAttributes_t(1);
#[doc = "< Number of primitive Gaussians"]
pub const CUEST_AOSHELL_NUM_PRIMITIVE: cuestAOShellAttributes_t = cuestAOShellAttributes_t(2);
#[doc = "< Number of basis functions (AOs, either pure or cartesian as set)"]
pub const CUEST_AOSHELL_NUM_AO: cuestAOShellAttributes_t = cuestAOShellAttributes_t(3);
#[doc = "< Number of pure (spherical) AOs"]
pub const CUEST_AOSHELL_NUM_PURE: cuestAOShellAttributes_t = cuestAOShellAttributes_t(4);
#[doc = "< Number of cartesian AOs"]
pub const CUEST_AOSHELL_NUM_CART: cuestAOShellAttributes_t = cuestAOShellAttributes_t(5);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from an AO shell object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_AOSHELL_IS_PURE : int32_t\n - \\c CUEST_AOSHELL_L : uint64_t\n - \\c CUEST_AOSHELL_NUM_PRIMITIVE : uint64_t\n - \\c CUEST_AOSHELL_NUM_AO : uint64_t\n - \\c CUEST_AOSHELL_NUM_PURE : uint64_t\n - \\c CUEST_AOSHELL_NUM_CART : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAOShellAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Nonzero if all shells are pure (spherical), zero otherwise"]
pub const CUEST_AOBASIS_IS_PURE: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(0);
#[doc = "< Nonzero if all shells are cartesian, zero otherwise"]
pub const CUEST_AOBASIS_IS_CART: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(1);
#[doc = "< Nonzero if shells are mixed spherical/cartesian, zero otherwise"]
pub const CUEST_AOBASIS_IS_MIXED: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(2);
#[doc = "< Number of basis function centers"]
pub const CUEST_AOBASIS_NUM_ATOM: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(3);
#[doc = "< Total number of AO shells"]
pub const CUEST_AOBASIS_NUM_SHELL: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(4);
#[doc = "< Total number of basis functions (AOs)"]
pub const CUEST_AOBASIS_NUM_AO: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(5);
#[doc = "< Total number of Cartesian basis functions"]
pub const CUEST_AOBASIS_NUM_CART: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(6);
#[doc = "< Total number of Gaussian primitives"]
pub const CUEST_AOBASIS_NUM_PRIMITIVE: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(7);
#[doc = "< Maximum angular momentum (L) among shells"]
pub const CUEST_AOBASIS_MAX_L: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(8);
#[repr(transparent)]
#[doc = " @brief Enumerates properties that can be queried from an AO basis set object.\n @ingroup Enums\n\n For each attribute, the expected type is:\n\n - \\c CUEST_AOBASIS_IS_PURE : int32_t\n - \\c CUEST_AOBASIS_IS_CART : int32_t\n - \\c CUEST_AOBASIS_IS_MIXED : int32_t\n - \\c CUEST_AOBASIS_NUM_ATOM : uint64_t\n - \\c CUEST_AOBASIS_NUM_SHELL : uint64_t\n - \\c CUEST_AOBASIS_NUM_AO : uint64_t\n - \\c CUEST_AOBASIS_NUM_CART : uint64_t\n - \\c CUEST_AOBASIS_NUM_PRIMITIVE : uint64_t\n - \\c CUEST_AOBASIS_MAX_L : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAOBasisAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_AOPAIRLIST_NONE: cuestAOPairListAttributes_t = cuestAOPairListAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST AO pair list object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_AOPAIRLIST_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAOPairListAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Angular momentum quantum number (L)"]
pub const CUEST_ECPSHELL_L: cuestECPShellAttributes_t = cuestECPShellAttributes_t(0);
#[doc = "< Number of primitives"]
pub const CUEST_ECPSHELL_NUM_PRIMITIVE: cuestECPShellAttributes_t = cuestECPShellAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from an ECP shell object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_ECPSHELL_L : uint64_t\n - \\c CUEST_ECPSHELL_NUM_PRIMITIVE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestECPShellAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Max angular momentum quantum number (L)"]
pub const CUEST_ECPATOM_MAX_L: cuestECPAtomAttributes_t = cuestECPAtomAttributes_t(0);
#[doc = "< Number of electrons"]
pub const CUEST_ECPATOM_NUM_ELECTRON: cuestECPAtomAttributes_t = cuestECPAtomAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from an ECP atom object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_ECPATOM_MAX_L : uint64_t\n - \\c CUEST_ECPATOM_NUM_ELECTRON : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestECPAtomAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_OEINTPLAN_NONE: cuestOEIntPlanAttributes_t = cuestOEIntPlanAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST one-electron integral plan object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_OEINTPLAN_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestOEIntPlanAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Number of ECP active atoms"]
pub const CUEST_ECPINTPLAN_NUM_ACTIVE_ATOM: cuestECPIntPlanAttributes_t =
cuestECPIntPlanAttributes_t(0);
#[doc = "< Number of electrons modeled by ECPs"]
pub const CUEST_ECPINTPLAN_NUM_ELECTRON: cuestECPIntPlanAttributes_t =
cuestECPIntPlanAttributes_t(1);
#[doc = "< Max angular momentum in ECP basis"]
pub const CUEST_ECPINTPLAN_MAX_L: cuestECPIntPlanAttributes_t = cuestECPIntPlanAttributes_t(2);
#[doc = "< Number of radial grid points"]
pub const CUEST_ECPINTPLAN_NUM_RADIAL_POINT: cuestECPIntPlanAttributes_t =
cuestECPIntPlanAttributes_t(3);
#[doc = "< Number of angular grid points"]
pub const CUEST_ECPINTPLAN_NUM_SPHERICAL_POINT: cuestECPIntPlanAttributes_t =
cuestECPIntPlanAttributes_t(4);
#[doc = "< Number of grid points"]
pub const CUEST_ECPINTPLAN_NUM_POINT: cuestECPIntPlanAttributes_t = cuestECPIntPlanAttributes_t(5);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST effective core potential (ECP) integral plan object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_ECPINTPLAN_NUM_ACTIVE_ATOM : uint64_t\n - \\c CUEST_ECPINTPLAN_NUM_ELECTRON : uint64_t\n - \\c CUEST_ECPINTPLAN_MAX_L : uint64_t\n - \\c CUEST_ECPINTPLAN_NUM_RADIAL_POINT : uint64_t\n - \\c CUEST_ECPINTPLAN_NUM_SPHERICAL_POINT : uint64_t\n - \\c CUEST_ECPINTPLAN_NUM_POINT : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestECPIntPlanAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_DFINTPLAN_NONE: cuestDFIntPlanAttributes_t = cuestDFIntPlanAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST DF integral plan object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_DFINTPLAN_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFIntPlanAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Total number of grid points"]
pub const CUEST_ATOMGRID_NUM_POINT: cuestAtomGridAttributes_t = cuestAtomGridAttributes_t(0);
#[doc = "< Number of radial points"]
pub const CUEST_ATOMGRID_NUM_RADIAL_POINT: cuestAtomGridAttributes_t = cuestAtomGridAttributes_t(1);
#[doc = "< Maximum number of angular points"]
pub const CUEST_ATOMGRID_MAX_ANGULAR_POINT: cuestAtomGridAttributes_t =
cuestAtomGridAttributes_t(2);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST atom grid object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_ATOMGRID_NUM_POINT : uint64_t\n - \\c CUEST_ATOMGRID_NUM_RADIAL_POINT : uint64_t\n - \\c CUEST_ATOMGRID_MAX_ANGULAR_POINT : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAtomGridAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Number of atom centers in the grid definition"]
pub const CUEST_MOLECULARGRID_NUM_ATOM: cuestMolecularGridAttributes_t =
cuestMolecularGridAttributes_t(0);
#[doc = "< Total number of grid points"]
pub const CUEST_MOLECULARGRID_NUM_POINT: cuestMolecularGridAttributes_t =
cuestMolecularGridAttributes_t(1);
#[doc = "< Maximum number of points for any atom"]
pub const CUEST_MOLECULARGRID_MAX_POINT: cuestMolecularGridAttributes_t =
cuestMolecularGridAttributes_t(2);
#[doc = "< Total number of radial points"]
pub const CUEST_MOLECULARGRID_NUM_RADIAL_POINT: cuestMolecularGridAttributes_t =
cuestMolecularGridAttributes_t(3);
#[doc = "< Maximum number of radial points for any atom"]
pub const CUEST_MOLECULARGRID_MAX_RADIAL_POINT: cuestMolecularGridAttributes_t =
cuestMolecularGridAttributes_t(4);
#[doc = "< Maximum number of angular points for any radial point"]
pub const CUEST_MOLECULARGRID_MAX_ANGULAR_POINT: cuestMolecularGridAttributes_t =
cuestMolecularGridAttributes_t(5);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST molecular grid object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_MOLECULARGRID_NUM_ATOM : uint64_t\n - \\c CUEST_MOLECULARGRID_NUM_POINT : uint64_t\n - \\c CUEST_MOLECULARGRID_MAX_POINT : uint64_t\n - \\c CUEST_MOLECULARGRID_NUM_RADIAL_POINT : uint64_t\n - \\c CUEST_MOLECULARGRID_MAX_RADIAL_POINT : uint64_t\n - \\c CUEST_MOLECULARGRID_MAX_ANGULAR_POINT : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestMolecularGridAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Scaling factor for HF (exact) exchange"]
pub const CUEST_XCINTPLAN_EXCHANGE_SCALE: cuestXCIntPlanAttributes_t =
cuestXCIntPlanAttributes_t(0);
#[doc = "< Scaling factor for LRC HF exchange"]
pub const CUEST_XCINTPLAN_LRC_EXCHANGE_SCALE: cuestXCIntPlanAttributes_t =
cuestXCIntPlanAttributes_t(1);
#[doc = "< Omega for LRC-containing functionals"]
pub const CUEST_XCINTPLAN_LRC_OMEGA: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(2);
#[doc = "< VV10 scaling factor for non-local correlation"]
pub const CUEST_XCINTPLAN_VV10_SCALE: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(3);
#[doc = "< VV10 C factor"]
pub const CUEST_XCINTPLAN_VV10_C: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(4);
#[doc = "< VV10 b factor"]
pub const CUEST_XCINTPLAN_VV10_B: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(5);
#[doc = "< Is the functional hybrid (contains HF exchange)?"]
pub const CUEST_XCINTPLAN_IS_HYBRID: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(6);
#[doc = "< Is the functional LRC (contains LRC exchange)?"]
pub const CUEST_XCINTPLAN_IS_LRC_HYBRID: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(7);
#[doc = "< Does the functional contain non-local VV10 correlation?"]
pub const CUEST_XCINTPLAN_IS_VV10: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(8);
#[doc = "< Description of the XC evaluation engine"]
pub const CUEST_XCINTPLAN_ENGINE_DESCRIPTION: cuestXCIntPlanAttributes_t =
cuestXCIntPlanAttributes_t(9);
#[doc = "< Citation(s) for the XC evaluation engine"]
pub const CUEST_XCINTPLAN_ENGINE_CITATION: cuestXCIntPlanAttributes_t =
cuestXCIntPlanAttributes_t(10);
#[doc = "< Citation(s) for the functional"]
pub const CUEST_XCINTPLAN_FUNCTIONAL_CITATION: cuestXCIntPlanAttributes_t =
cuestXCIntPlanAttributes_t(11);
#[doc = "< Description of the functional"]
pub const CUEST_XCINTPLAN_FUNCTIONAL_DESCRIPTION: cuestXCIntPlanAttributes_t =
cuestXCIntPlanAttributes_t(12);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST XC integral plan object.\n @ingroup Enums\n\n Note that queries involving char* attributes return a pointer to a string that must be\n freed by the caller, using C's native free(), after use.\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_XCINTPLAN_EXCHANGE_SCALE : double\n - \\c CUEST_XCINTPLAN_LRC_EXCHANGE_SCALE : double\n - \\c CUEST_XCINTPLAN_LRC_OMEGA : double\n - \\c CUEST_XCINTPLAN_VV10_SCALE : double\n - \\c CUEST_XCINTPLAN_VV10_C : double\n - \\c CUEST_XCINTPLAN_VV10_B : double\n - \\c CUEST_XCINTPLAN_IS_HYBRID : int32_t\n - \\c CUEST_XCINTPLAN_IS_LRC_HYBRID : int32_t\n - \\c CUEST_XCINTPLAN_IS_VV10 : int32_t\n - \\c CUEST_XCINTPLAN_ENGINE_DESCRIPTION : char*\n - \\c CUEST_XCINTPLAN_ENGINE_CITATION : char*\n - \\c CUEST_XCINTPLAN_FUNCTIONAL_CITATION : char*\n - \\c CUEST_XCINTPLAN_FUNCTIONAL_DESCRIPTION : char*"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCIntPlanAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Total number of surface points."]
pub const CUEST_PCMINTPLAN_NUM_POINT: cuestPCMIntPlanAttributes_t = cuestPCMIntPlanAttributes_t(0);
#[doc = "< Total number of active surface points, i.e. those not screened out by the iSWIG switching function."]
pub const CUEST_PCMINTPLAN_NUM_ACTIVE_POINT: cuestPCMIntPlanAttributes_t =
cuestPCMIntPlanAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST PCM integral plan object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_PCMINTPLAN_NUM_POINT : uint64_t\n - \\c CUEST_PCMINTPLAN_NUM_ACTIVE_POINT : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMIntPlanAttributes_t(pub ::core::ffi::c_uint);
#[doc = " @brief Opaque handle representing the parameters needed for cuEST library context creation.\n See \\c cuestHandleParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestHandleParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for atomic orbital (AO) Gaussian shell creation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestAOShellParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for atomic orbital (AO) basis set (group of AO shells) creation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestAOBasisParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for pair list creation.\n @ingroup TypeDefs"]
pub type cuestAOPairListParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for effective core potential (ECP) shell creation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestECPShellParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for effective core potential (ECP) atom set (group of ECP shells) creation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestECPAtomParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for a one-electron integral computation plan (e.g., overlap integrals, kinetic integrals) creation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestOEIntPlanParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for an effective core potential (ECP) integral computation plan creation.\n See \\c cuestECPIntPlanParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestECPIntPlanParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for an effective core potential (ECP) integral compute.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestECPComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for an effective core potential (ECP) integral derivative compute.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestECPDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for a density-fitted integral computation plan (for DF/RI approaches) creation.\n See \\c cuestDFIntPlanParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestDFIntPlanParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for atomic grid plan creation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestAtomGridParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for molecular grid plan creation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestMolecularGridParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for an exchange-correlation integral computation plan creation.\n See \\c cuestXCIntPlanParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestXCIntPlanParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for overlap matrix computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestOverlapComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for overlap gradient computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestOverlapDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for kinetic matrix computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestKineticComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for kinetic gradient computation.\n @ingroup TypeDefs"]
pub type cuestKineticDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for potential matrix computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestPotentialComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for potential gradient computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestPotentialDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for density-fitted Coulomb matrix computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestDFCoulombComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for density-fitted symmetric exchange matrix computation.\n See \\c cuestDFSymmetricExchangeComputeParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestDFSymmetricExchangeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for density-fitted non-symmetric exchange matrix computation.\n See \\c cuestDFNonsymmetricExchangeComputeParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestDFNonsymmetricExchangeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for density-fitted gradient computation.\n See \\c cuestDFSymmetricDerivativeComputeParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestDFSymmetricDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC RKS potential computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCPotentialRKSComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC UKS potential computation.\n @ingroup TypeDefs"]
pub type cuestXCPotentialUKSComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC RKS gradient computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCDerivativeRKSComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC UKS gradient computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCDerivativeUKSComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for nonlocal XC RKS potential computation.\n See \\c cuestNonlocalXCPotentialRKSComputeParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestNonlocalXCPotentialRKSComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for nonlocal XC UKS potential computation.\n See \\c cuestNonlocalXCPotentialUKSComputeParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestNonlocalXCPotentialUKSComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for nonlocal XC RKS gradient computation.\n See \\c cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestNonlocalXCDerivativeRKSComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for nonlocal XC UKS gradient computation.\n See \\c cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t for configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestNonlocalXCDerivativeUKSComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC density computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCDensityComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC nonsymmetric density computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCNonsymmetricDensityComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC potential computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCPotentialComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC derivative computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC nonsymmetric derivative computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCNonsymmetricDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC grid derivative computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCGridDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC integration grid computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCIntegrationGridComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for XC integration weight computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestXCIntegrationWeightComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for PCM potential and gradient computation.\n See \\c cuestPCMIntPlanParametersAttributes_t configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestPCMIntPlanParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for PCM potential computation.\n See \\c cuestPCMPotentialComputeParametersAttributes_t configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestPCMPotentialComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for PCM derivative computation.\n See \\c cuestPCMDerivativeComputeParametersAttributes_t configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestPCMDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for PCM radii derivative computation.\n See \\c cuestPCMRadiiDerivativeComputeParametersAttributes_t configurable parameters and their default values.\n @ingroup TypeDefs"]
pub type cuestPCMRadiiDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for multipole matrix computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestMultipoleComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for multipole gradient computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestMultipoleDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for angular momentum integral matrix computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestAngularMomentumComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for angular momentum gradient computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestAngularMomentumDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for nabla integral matrix computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestNablaComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for nabla gradient computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestNablaDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for PCM integration grid computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestPCMIntegrationGridComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for PCM integration weight computation.\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestPCMIntegrationWeightComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = " @brief Opaque handle representing the parameters needed for MO transformation\n There are no configurable parameters for this handle at this time.\n @ingroup TypeDefs"]
pub type cuestDFMOIntegralsComputeParameters_t = *mut ::core::ffi::c_void;
#[doc = "< Alias for cuestHandleParameters_t"]
pub const CUEST_HANDLE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(0);
#[doc = "< Alias for cuestAOShellParameters_t"]
pub const CUEST_AOSHELL_PARAMETERS: cuestParametersType_t = cuestParametersType_t(1);
#[doc = "< Alias for cuestAOBasisParameters_t"]
pub const CUEST_AOBASIS_PARAMETERS: cuestParametersType_t = cuestParametersType_t(2);
#[doc = "< Alias for cuestAOPairListParameters_t"]
pub const CUEST_AOPAIRLIST_PARAMETERS: cuestParametersType_t = cuestParametersType_t(3);
#[doc = "< Alias for cuestOEIntPlanParameters_t"]
pub const CUEST_OEINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(4);
#[doc = "< Alias for cuestDFIntPlanParameters_t"]
pub const CUEST_DFINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(5);
#[doc = "< Alias for cuestAtomGridParameters_t"]
pub const CUEST_ATOMGRID_PARAMETERS: cuestParametersType_t = cuestParametersType_t(6);
#[doc = "< Alias for cuestMolecularGridParameters_t"]
pub const CUEST_MOLECULARGRID_PARAMETERS: cuestParametersType_t = cuestParametersType_t(7);
#[doc = "< Alias for cuestXCIntPlanParameters_t"]
pub const CUEST_XCINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(8);
#[doc = "< Alias for cuestOverlapComputeParameters_t"]
pub const CUEST_OVERLAPCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(9);
#[doc = "< Alias for cuestOverlapDerivativeComputeParameters_t"]
pub const CUEST_OVERLAPDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(10);
#[doc = "< Alias for cuestKineticComputeParameters_t"]
pub const CUEST_KINETICCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(11);
#[doc = "< Alias for cuestKineticDerivativeComputeParameters_t"]
pub const CUEST_KINETICDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(12);
#[doc = "< Alias for cuestPotentialComputeParameters_t"]
pub const CUEST_POTENTIALCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(13);
#[doc = "< Alias for cuestPotentialDerivativeComputeParameters_t"]
pub const CUEST_POTENTIALDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(14);
#[doc = "< Alias for cuestDFCoulombComputeParameters_t"]
pub const CUEST_DFCOULOMBCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(15);
#[doc = "< Alias for cuestDFSymmetricExchangeComputeParameters_t"]
pub const CUEST_DFSYMMETRICEXCHANGECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(16);
#[doc = "< Alias for cuestDFSymmetricDerivativeComputeParameters_t"]
pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(17);
#[doc = "< Alias for cuestXCPotentialRKSComputeParameters_t"]
pub const CUEST_XCPOTENTIALRKSCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(18);
#[doc = "< Alias for cuestXCPotentialUKSComputeParameters_t"]
pub const CUEST_XCPOTENTIALUKSCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(19);
#[doc = "< Alias for cuestXCDerivativeRKSComputeParameters_t"]
pub const CUEST_XCDERIVATIVERKSCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(20);
#[doc = "< Alias for cuestXCDerivativeUKSComputeParameters_t"]
pub const CUEST_XCDERIVATIVEUKSCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(21);
#[doc = "< Alias for cuestNonlocalXCPotentialRKSComputeParameters_t"]
pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(22);
#[doc = "< Alias for cuestNonlocalXCPotentialUKSComputeParameters_t"]
pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(23);
#[doc = "< Alias for cuestNonlocalXCDerivativeRKSComputeParameters_t"]
pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(24);
#[doc = "< Alias for cuestNonlocalXCDerivativeUKSComputeParameters_t"]
pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(25);
#[doc = "< Alias for cuestXCDensityComputeParameters_t"]
pub const CUEST_XCDENSITYCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(26);
#[doc = "< Alias for cuestXCPotentialComputeParameters_t"]
pub const CUEST_XCPOTENTIALCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(27);
#[doc = "< Alias for cuestXCDerivativeComputeParameters_t"]
pub const CUEST_XCDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(28);
#[doc = "< Alias for cuestXCGridDerivativeComputeParameters_t"]
pub const CUEST_XCGRIDDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(29);
#[doc = "< Alias for cuestXCIntegrationGridComputeParameters_t"]
pub const CUEST_XCINTEGRATIONGRIDCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(30);
#[doc = "< Alias for cuestXCIntegrationWeightComputeParameters_t"]
pub const CUEST_XCINTEGRATIONWEIGHTCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(31);
#[doc = "< Alias for cuestPCMIntPlanParameters_t"]
pub const CUEST_PCMINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(32);
#[doc = "< Alias for cuestPCMPotentialComputeParameters_t"]
pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(33);
#[doc = "< Alias for cuestPCMDerivativeComputeParameters_t"]
pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(34);
#[doc = "< Alias for cuestECPShellParameters_t"]
pub const CUEST_ECPSHELL_PARAMETERS: cuestParametersType_t = cuestParametersType_t(35);
#[doc = "< Alias for cuestECPAtomParameters_t"]
pub const CUEST_ECPATOM_PARAMETERS: cuestParametersType_t = cuestParametersType_t(36);
#[doc = "< Alias for cuestECPIntPlanParameters_t"]
pub const CUEST_ECPINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(37);
#[doc = "< Alias for cuestECPComputeParameters_t"]
pub const CUEST_ECPCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(38);
#[doc = "< Alias for cuestECPDerivativeComputeParameters_t"]
pub const CUEST_ECPDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(39);
#[doc = "< Alias for cuestDFNonsymmetricExchangeComputeParameters_t"]
pub const CUEST_DFNONSYMMETRICEXCHANGECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(40);
#[doc = "< Alias for cuestMultipoleComputeParameters_t"]
pub const CUEST_MULTIPOLECOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(41);
#[doc = "< Alias for cuestMultipoleDerivativeComputeParameters_t"]
pub const CUEST_MULTIPOLEDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(42);
#[doc = "< Alias for cuestAngularMomentumComputeParameters_t"]
pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(43);
#[doc = "< Alias for cuestAngularMomentumDerivativeComputeParameters_t"]
pub const CUEST_ANGULARMOMENTUMDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(44);
#[doc = "< Alias for cuestNablaComputeParameters_t"]
pub const CUEST_NABLACOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(45);
#[doc = "< Alias for cuestNablaDerivativeComputeParameters_t"]
pub const CUEST_NABLADERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(46);
#[doc = "< Alias for cuestPCMIntegrationGridComputeParameters_t"]
pub const CUEST_PCMINTEGRATIONGRIDCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(47);
#[doc = "< Alias for cuestPCMIntegrationWeightComputeParameters_t"]
pub const CUEST_PCMINTEGRATIONWEIGHTCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(48);
#[doc = "< Alias for cuestDFMOIntegralsComputeParameters_t"]
pub const CUEST_DFMOINTEGRALSCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(49);
#[doc = "< Alias for cuestXCNonsymmetricDensityComputeParameters_t"]
pub const CUEST_XCNONSYMMETRICDENSITYCOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(50);
#[doc = "< Alias for cuestXCNonsymmetricDerivativeComputeParameters_t"]
pub const CUEST_XCNONSYMMETRICDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(51);
#[doc = "< Alias for cuestPCMRadiiDerivativeComputeParameters_t"]
pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
cuestParametersType_t(52);
#[repr(transparent)]
#[doc = " @brief Provides unique identifiers for each of the opaque handles to parameter structures.\n @ingroup Enums\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestParametersType_t(pub ::core::ffi::c_uint);
#[doc = "< CUDA stream handle. NULL value allocates a CUDA stream internally. \\b Default: NULL."]
pub const CUEST_HANDLE_PARAMETERS_CUDASTREAM: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(0);
#[doc = "< cuBLAS handle. NULL value allocates a cuBLAS handle internally. \\b Default: NULL."]
pub const CUEST_HANDLE_PARAMETERS_CUBLAS: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(1);
#[doc = "< cuSolver handle. NULL value allocates a cuSolver handle internally. \\b Default: NULL."]
pub const CUEST_HANDLE_PARAMETERS_CUSOLVER: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(2);
#[doc = "< Maximum number of quadrature points. \\b Default: 20."]
pub const CUEST_HANDLE_PARAMETERS_MAX_GAUSS_HERMITE: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(3);
#[doc = "< Highest angular momentum for solid harmonics. \\b Default: 10."]
pub const CUEST_HANDLE_PARAMETERS_MAX_L_SOLID_HARMONIC: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(4);
#[doc = "< Maximum number of Rys points. (0 specifies the largest available). \\b Default: 0."]
pub const CUEST_HANDLE_PARAMETERS_MAX_RYS: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(5);
#[doc = "< Specifies which scheme should be used to build the Rys quadrature table. \\b Default: CUEST_HANDLE_PARAMETERS_RYS_SCHEME_06_21_2025."]
pub const CUEST_HANDLE_PARAMETERS_RYS_SCHEME: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(6);
#[doc = "< JIT kernel cache directory. Empty string uses the derived default (~/.cuest_cache/cuest-cuda<N>-v<version>/). Must be a trusted, per-user, non-world-writable path (see security notes); an unsafe or unwritable directory is rejected at cuestCreate with CUEST_STATUS_INVALID_ARGUMENT. \\b Default: \"\" (derived default)."]
pub const CUEST_HANDLE_PARAMETERS_JIT_CACHE_DIR: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(7);
#[doc = "< Parallel JIT precompile worker threads. Must be >= 1 (a smaller value is rejected at cuestCreate with CUEST_STATUS_INVALID_ARGUMENT); clamped to an internal upper bound of 256. \\b Default: 16."]
pub const CUEST_HANDLE_PARAMETERS_JIT_COMPILE_THREADS: cuestHandleParametersAttributes_t =
cuestHandleParametersAttributes_t(8);
#[repr(transparent)]
#[doc = " @brief Enumerates configurable/queryable attributes in the parameter structure.\n @ingroup Enums\n\n\n Types expected for each attribute:\n - \\c CUEST_HANDLE_PARAMETERS_CUDASTREAM : cudaStream_t (may be NULL)\n - \\c CUEST_HANDLE_PARAMETERS_CUBLAS : cublasHandle_t (may be NULL)\n - \\c CUEST_HANDLE_PARAMETERS_CUSOLVER : cusolverDnHandle_t (may be NULL)\n - \\c CUEST_HANDLE_PARAMETERS_MAX_GAUSS_HERMITE : uint64_t\n - \\c CUEST_HANDLE_PARAMETERS_MAX_L_SOLID_HARMONIC : uint64_t\n - \\c CUEST_HANDLE_PARAMETERS_MAX_RYS : uint64_t\n - \\c CUEST_HANDLE_PARAMETERS_RYS_SCHEME : cuestHandleParametersRysScheme_t (enum)\n - \\c CUEST_HANDLE_PARAMETERS_JIT_CACHE_DIR : const char* (NUL-terminated; the value\n returned by a query is allocated with\n malloc and must be freed by the caller\n with C's native free(). The allocation\n only occurs when the query completes\n successfully (CUEST_STATUS_SUCCESS); on\n error nothing is allocated to free.)\n - \\c CUEST_HANDLE_PARAMETERS_JIT_COMPILE_THREADS : int32_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestHandleParametersAttributes_t(pub ::core::ffi::c_uint);
pub const CUEST_HANDLE_PARAMETERS_RYS_SCHEME_06_21_2025: cuestHandleParametersRysScheme_t =
cuestHandleParametersRysScheme_t(0);
#[repr(transparent)]
#[doc = " @brief Specifies which Rys quadrature scheme to use for table construction.\n @ingroup Enums"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestHandleParametersRysScheme_t(pub ::core::ffi::c_uint);
#[doc = "< Default math mode. Math mode is heuristically chosen on a per-function basis for maximum efficiency."]
pub const CUEST_DEFAULT_MATH_MODE: cuestMathMode_t = cuestMathMode_t(0);
#[doc = "< Native FP64 compute is used everywhere."]
pub const CUEST_NATIVE_FP64_MATH_MODE: cuestMathMode_t = cuestMathMode_t(1);
#[repr(transparent)]
#[doc = " @brief Specifies what math mode should be used.\n @ingroup Enums"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestMathMode_t(pub ::core::ffi::c_uint);
#[doc = "< Specifies that JIT-compiled kernels should be used."]
pub const CUEST_JIT_USAGE_MODE_ON: cuestJITUsageMode_t = cuestJITUsageMode_t(0);
#[doc = "< Specifies the use of a code path with AOT-compiled kernels."]
pub const CUEST_JIT_USAGE_MODE_OFF: cuestJITUsageMode_t = cuestJITUsageMode_t(1);
#[repr(transparent)]
#[doc = " @brief Specifies whether or not to use JIT-compiled kernels.\n @ingroup Enums\n\n Note: JIT requires CUDA 13.x or higher."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestJITUsageMode_t(pub ::core::ffi::c_uint);
#[doc = "< Requests ffloat compute when it is available and expected to provide a performance advantage on the present GPU architecture. Availability may be impacted by disabling JIT or using the cuEST CUDA 12 package."]
pub const CUEST_FFLOAT_USAGE_MODE_DEFAULT: cuestFfloatUsageMode_t = cuestFfloatUsageMode_t(0);
#[doc = "< Requests ffloat compute."]
pub const CUEST_FFLOAT_USAGE_MODE_ON: cuestFfloatUsageMode_t = cuestFfloatUsageMode_t(1);
#[doc = "< Requests fp64 compute."]
pub const CUEST_FFLOAT_USAGE_MODE_OFF: cuestFfloatUsageMode_t = cuestFfloatUsageMode_t(2);
#[repr(transparent)]
#[doc = " @brief Specifies whether or not to use ffloat compute.\n @ingroup Enums"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestFfloatUsageMode_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_AOSHELL_PARAMETERS_NONE: cuestAOShellParametersAttributes_t =
cuestAOShellParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for AO shell parameters.\n @ingroup Enums\n\n - \\c CUEST_AOSHELL_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAOShellParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_AOBASIS_PARAMETERS_NONE: cuestAOBasisParametersAttributes_t =
cuestAOBasisParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for AO basis parameters.\n @ingroup Enums\n\n - \\c CUEST_AOBASIS_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAOBasisParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_AOPAIRLIST_PARAMETERS_NONE: cuestAOPairListParametersAttributes_t =
cuestAOPairListParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for AO pair list parameters.\n @ingroup Enums\n\n - \\c CUEST_AOPAIRLIST_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAOPairListParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_ECPSHELL_PARAMETERS_NONE: cuestECPShellParametersAttributes_t =
cuestECPShellParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for ECP shell parameters.\n @ingroup Enums\n\n - \\c CUEST_ECPSHELL_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestECPShellParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_ECPATOM_PARAMETERS_NONE: cuestECPAtomParametersAttributes_t =
cuestECPAtomParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for ECP Atom parameters.\n @ingroup Enums\n\n - \\c CUEST_ECPATOM_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestECPAtomParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_OEINTPLAN_PARAMETERS_NONE: cuestOEIntPlanParametersAttributes_t =
cuestOEIntPlanParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for one-electron integral plan parameters.\n @ingroup Enums\n\n - \\c CUEST_OEINTPLAN_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestOEIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Grid collocation threshold. \\b Default: 1.0e-18."]
pub const CUEST_ECPINTPLAN_PARAMETERS_THRESHOLD_COLLOCATION: cuestECPIntPlanParametersAttributes_t =
cuestECPIntPlanParametersAttributes_t(0);
#[doc = "< Grid cutoff. \\b Default: 1.0e-14."]
pub const CUEST_ECPINTPLAN_PARAMETERS_ECP_CUTOFF: cuestECPIntPlanParametersAttributes_t =
cuestECPIntPlanParametersAttributes_t(1);
#[doc = "< Grid R0. \\b Default: 6.0."]
pub const CUEST_ECPINTPLAN_PARAMETERS_R0: cuestECPIntPlanParametersAttributes_t =
cuestECPIntPlanParametersAttributes_t(2);
#[doc = "< Grid multiplier. \\b Default: 1.1."]
pub const CUEST_ECPINTPLAN_PARAMETERS_MULTIPLIER: cuestECPIntPlanParametersAttributes_t =
cuestECPIntPlanParametersAttributes_t(3);
#[doc = "< Number radial grid points. \\b Default: 80."]
pub const CUEST_ECPINTPLAN_PARAMETERS_RADIAL_NUM_POINT: cuestECPIntPlanParametersAttributes_t =
cuestECPIntPlanParametersAttributes_t(4);
#[doc = "< Number spherical grid points. \\b Default: 302."]
pub const CUEST_ECPINTPLAN_PARAMETERS_SPHERICAL_NUM_POINT: cuestECPIntPlanParametersAttributes_t =
cuestECPIntPlanParametersAttributes_t(5);
#[repr(transparent)]
#[doc = " @brief Properties supported for effective core potential (ECP) integral plan parameters.\n @ingroup Enums\n\n - \\c CUEST_ECPINTPLAN_PARAMETERS_THRESHOLD_COLLOCATION : double\n - \\c CUEST_ECPINTPLAN_PARAMETERS_ECP_CUTOFF : double\n - \\c CUEST_ECPINTPLAN_PARAMETERS_R0 : double\n - \\c CUEST_ECPINTPLAN_PARAMETERS_MULTIPLIER : double\n - \\c CUEST_ECPINTPLAN_PARAMETERS_RADIAL_NUM_POINT : uint64_t\n - \\c CUEST_ECPINTPLAN_PARAMETERS_SPHERICAL_NUM_POINT : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestECPIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_ECPCOMPUTE_PARAMETERS_NONE: cuestECPComputeParametersAttributes_t =
cuestECPComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for effective core potential (ECP) integral compute parameters.\n @ingroup Enums\n\n - \\c CUEST_ECPCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestECPComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_ECPDERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestECPDerivativeComputeParametersAttributes_t =
cuestECPDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for effective core potential (ECP) integral derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_ECPDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestECPDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Value below which metric eigenvalues are discarded during fitting. \\b Default: 1.0e-12."]
pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_CUTOFF: cuestDFIntPlanParametersAttributes_t =
cuestDFIntPlanParametersAttributes_t(0);
#[doc = "< Should the fitting cutoff be determined in a relative or absolute sense? 0 is absolute. non-zero is relative. \\b Default: 1."]
pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_RELATIVE_CONDITIONING:
cuestDFIntPlanParametersAttributes_t = cuestDFIntPlanParametersAttributes_t(1);
#[doc = "< Fraction of HF exchange: respected in DF exchange and DF derivative compute routines. \\b Default: 1.0."]
pub const CUEST_DFINTPLAN_PARAMETERS_EXCHANGE_FRACTION: cuestDFIntPlanParametersAttributes_t =
cuestDFIntPlanParametersAttributes_t(2);
#[doc = "< Algorithm to use when inverting the DF metric. \\b Default: CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM_QR."]
pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM: cuestDFIntPlanParametersAttributes_t =
cuestDFIntPlanParametersAttributes_t(3);
#[doc = "< Fraction of long-range exchange: respected in DF exchange and DF derivative compute routines. \\b Default: 0.0."]
pub const CUEST_DFINTPLAN_PARAMETERS_LRC_EXCHANGE_FRACTION: cuestDFIntPlanParametersAttributes_t =
cuestDFIntPlanParametersAttributes_t(4);
#[doc = "< Omega range-separation parameter (in inverse bohr): respected in DF exchange and DF derivative compute routines. Must be greater than or equal to 0.0. \\b Default: 0.0."]
pub const CUEST_DFINTPLAN_PARAMETERS_LRC_EXCHANGE_OMEGA: cuestDFIntPlanParametersAttributes_t =
cuestDFIntPlanParametersAttributes_t(5);
#[doc = "< Skips the formation of 3-index integrals in the plan creation and uses integral direct algorithms in subsequent compute calls (where possible). \\b Default: 0."]
pub const CUEST_DFINTPLAN_PARAMETERS_THREE_INDEX_INTEGRAL_DIRECT:
cuestDFIntPlanParametersAttributes_t = cuestDFIntPlanParametersAttributes_t(6);
#[repr(transparent)]
#[doc = " @brief Properties supported for DF integral plan parameters.\n @ingroup Enums\n\n - \\c CUEST_DFINTPLAN_PARAMETERS_FITTING_CUTOFF : double\n - \\c CUEST_DFINTPLAN_PARAMETERS_FITTING_RELATIVE_CONDITIONING : int32_t\n - \\c CUEST_DFINTPLAN_PARAMETERS_EXCHANGE_FRACTION : double\n - \\c CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM : cuestDFIntPlanParametersFittingAlgorithm_t\n - \\c CUEST_DFINTPLAN_PARAMETERS_LRC_EXCHANGE_FRACTION : double\n - \\c CUEST_DFINTPLAN_PARAMETERS_LRC_EXCHANGE_OMEGA : double\n - \\c CUEST_DFINTPLAN_PARAMETERS_THREE_INDEX_INTEGRAL_DIRECT: int32_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Use a QR-based metric inverse"]
pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM_QR:
cuestDFIntPlanParametersFittingAlgorithm_t = cuestDFIntPlanParametersFittingAlgorithm_t(0);
#[doc = "< Use a conditioned matrix power"]
pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM_MATRIXPOWER:
cuestDFIntPlanParametersFittingAlgorithm_t = cuestDFIntPlanParametersFittingAlgorithm_t(1);
#[repr(transparent)]
#[doc = " @brief Specifies how the DF metric should be inverted\n @ingroup Enums"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFIntPlanParametersFittingAlgorithm_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_ATOMGRID_PARAMETERS_NONE: cuestAtomGridParametersAttributes_t =
cuestAtomGridParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for atom grid parameters.\n @ingroup Enums\n\n - \\c CUEST_ATOMGRID_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAtomGridParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_MOLECULARGRID_PARAMETERS_NONE: cuestMolecularGridParametersAttributes_t =
cuestMolecularGridParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for molecular grid parameters.\n @ingroup Enums\n\n - \\c CUEST_MOLECULARGRID_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestMolecularGridParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< XC collocation threshold. \\b Default: 1.0e-18."]
pub const CUEST_XCINTPLAN_PARAMETERS_THRESHOLD_COLLOCATION: cuestXCIntPlanParametersAttributes_t =
cuestXCIntPlanParametersAttributes_t(0);
#[doc = "< Maximum derivative level supported. \\b Default: 1."]
pub const CUEST_XCINTPLAN_PARAMETERS_DERIVATIVE_LEVEL: cuestXCIntPlanParametersAttributes_t =
cuestXCIntPlanParametersAttributes_t(1);
#[doc = "< How many CPU threads to use when computing Vxc. \\b Default: 12."]
pub const CUEST_XCINTPLAN_PARAMETERS_NUM_THREADS: cuestXCIntPlanParametersAttributes_t =
cuestXCIntPlanParametersAttributes_t(2);
#[repr(transparent)]
#[doc = " @brief Properties supported for exchange-correlation integral plan parameters.\n @ingroup Enums\n\n - \\c CUEST_XCINTPLAN_PARAMETERS_THRESHOLD_COLLOCATION : double\n - \\c CUEST_XCINTPLAN_PARAMETERS_DERIVATIVE_LEVEL : int32_t\n - \\c CUEST_XCINTPLAN_PARAMETERS_NUM_THREADS : int32_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_HF: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(0);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_B3LYP1: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(1);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_B3LYP5: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(2);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_B97: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(3);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_BLYP: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(4);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_M06L: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(5);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_PBE: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(6);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_PBE0: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(7);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_R2SCAN: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(8);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_SVWN5: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(9);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_B97MV: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(10);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_LCWPBE: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(11);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_WB97X: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(12);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_WB97XV: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(13);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_WB97MV: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(14);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_LCWPBEH: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(15);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_CAMB3LYP: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(16);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_HSE06: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(17);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_M06: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(18);
pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_M062X: cuestXCIntPlanParametersFunctional_t =
cuestXCIntPlanParametersFunctional_t(19);
#[repr(transparent)]
#[doc = " @brief Specifies which XC functional should be used.\n @ingroup Enums"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCIntPlanParametersFunctional_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_OVERLAPCOMPUTE_PARAMETERS_NONE: cuestOverlapComputeParametersAttributes_t =
cuestOverlapComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for overlap compute parameters.\n @ingroup Enums\n\n - \\c CUEST_OVERLAPCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestOverlapComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_OVERLAPDERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestOverlapDerivativeComputeParametersAttributes_t =
cuestOverlapDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for overlap derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_OVERLAPDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestOverlapDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_KINETICCOMPUTE_PARAMETERS_NONE: cuestKineticComputeParametersAttributes_t =
cuestKineticComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for kinetic compute parameters.\n @ingroup Enums\n\n - \\c CUEST_KINETICCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestKineticComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_KINETICDERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestKineticDerivativeComputeParametersAttributes_t =
cuestKineticDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for kinetic derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_KINETICDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestKineticDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_POTENTIALCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestPotentialComputeParametersAttributes_t = cuestPotentialComputeParametersAttributes_t(0);
#[doc = "< Parameter to control the use of JIT-compiled kernels. \\b Default: CUEST_JIT_USAGE_MODE_ON on CUDA 13.x+, CUEST_JIT_USAGE_MODE_OFF otherwise."]
pub const CUEST_POTENTIALCOMPUTE_PARAMETERS_JIT_USAGE_MODE:
cuestPotentialComputeParametersAttributes_t = cuestPotentialComputeParametersAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief Properties supported for potential compute parameters.\n @ingroup Enums\n\n - \\c CUEST_POTENTIALCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)\n - \\c CUEST_POTENTIALCOMPUTE_PARAMETERS_JIT_USAGE_MODE : cuestJITUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPotentialComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_OFF."]
pub const CUEST_POTENTIALDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestPotentialDerivativeComputeParametersAttributes_t =
cuestPotentialDerivativeComputeParametersAttributes_t(0);
#[doc = "< Parameter to control the use of JIT-compiled kernels. \\b Default: CUEST_JIT_USAGE_MODE_ON on CUDA 13.x+, CUEST_JIT_USAGE_MODE_OFF otherwise."]
pub const CUEST_POTENTIALDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE:
cuestPotentialDerivativeComputeParametersAttributes_t =
cuestPotentialDerivativeComputeParametersAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief Properties supported for potential derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_POTENTIALDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)\n - \\c CUEST_POTENTIALDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE : cuestJITUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPotentialDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_DFCOULOMBCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestDFCoulombComputeParametersAttributes_t = cuestDFCoulombComputeParametersAttributes_t(0);
#[doc = "< Parameter to control the use of JIT-compiled kernels. \\b Default: CUEST_JIT_USAGE_MODE_ON on CUDA 13.x+, CUEST_JIT_USAGE_MODE_OFF otherwise."]
pub const CUEST_DFCOULOMBCOMPUTE_PARAMETERS_JIT_USAGE_MODE:
cuestDFCoulombComputeParametersAttributes_t = cuestDFCoulombComputeParametersAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief Properties supported for DF Coulomb compute parameters.\n @ingroup Enums\n\n - \\c CUEST_DFCOULOMBCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)\n - \\c CUEST_DFCOULOMBCOMPUTE_PARAMETERS_JIT_USAGE_MODE : cuestJITUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFCoulombComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Number of slices used in cuBLAS emulated GEMMs. Mantissa bit count = 8 * slices - 1. \\b Default: 5."]
pub const CUEST_DFSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_SLICE_COUNT:
cuestDFSymmetricExchangeComputeParametersAttributes_t =
cuestDFSymmetricExchangeComputeParametersAttributes_t(0);
#[doc = "< Number of moduli used in custom Ozaki-II emulated GEMMs. \\b Default: 8."]
pub const CUEST_DFSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_MODULUS_COUNT:
cuestDFSymmetricExchangeComputeParametersAttributes_t =
cuestDFSymmetricExchangeComputeParametersAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief Properties supported for DF symmetric exchange compute parameters.\n @ingroup Enums\n\n - \\c CUEST_DFSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_SLICE_COUNT : uint64_t\n - \\c CUEST_DFSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_MODULUS_COUNT : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFSymmetricExchangeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Number of slices used in cuBLAS emulated GEMMs. Mantissa bit count = 8 * slices - 1. \\b Default: 5."]
pub const CUEST_DFNONSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_SLICE_COUNT:
cuestDFNonsymmetricExchangeComputeParametersAttributes_t =
cuestDFNonsymmetricExchangeComputeParametersAttributes_t(0);
#[doc = "< Number of moduli used in custom Ozaki-II emulated GEMMs. \\b Default: 8."]
pub const CUEST_DFNONSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_MODULUS_COUNT:
cuestDFNonsymmetricExchangeComputeParametersAttributes_t =
cuestDFNonsymmetricExchangeComputeParametersAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief Properties supported for DF non-symmetric exchange compute parameters.\n @ingroup Enums\n\n - \\c CUEST_DFNONSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_SLICE_COUNT : uint64_t\n - \\c CUEST_DFNONSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_MODULUS_COUNT : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFNonsymmetricExchangeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Specifies how memory should be used during the derivative evaluation. \\b Default: CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_DEVICECACHE."]
pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_MEMORY_POLICY:
cuestDFSymmetricDerivativeComputeParametersAttributes_t =
cuestDFSymmetricDerivativeComputeParametersAttributes_t(0);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestDFSymmetricDerivativeComputeParametersAttributes_t =
cuestDFSymmetricDerivativeComputeParametersAttributes_t(1);
#[doc = "< Parameter to control the use of JIT-compiled kernels. \\b Default: CUEST_JIT_USAGE_MODE_ON on CUDA 13.x+, CUEST_JIT_USAGE_MODE_OFF otherwise."]
pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE:
cuestDFSymmetricDerivativeComputeParametersAttributes_t =
cuestDFSymmetricDerivativeComputeParametersAttributes_t(2);
#[repr(transparent)]
#[doc = " @brief Properties supported for DF symmetric derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_MEMORY_POLICY : cuestDFSymmetricDerivativeComputeMemoryPolicy_t\n - \\c CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)\n - \\c CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE : cuestJITUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFSymmetricDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Cache certain intermediates on the GPU. This leaves the DFIntPlan unchanged."]
pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_DEVICECACHE:
cuestDFSymmetricDerivativeComputeMemoryPolicy_t =
cuestDFSymmetricDerivativeComputeMemoryPolicy_t(0);
#[doc = "< Cache certain intermediates on the CPU. This leaves the DFIntPlan unchanged."]
pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_HOSTCACHE:
cuestDFSymmetricDerivativeComputeMemoryPolicy_t =
cuestDFSymmetricDerivativeComputeMemoryPolicy_t(1);
#[doc = "< Overwrite DFIntPlan intermediates. This leaves the DFIntPlan in an unusable state."]
pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_OVERWRITE:
cuestDFSymmetricDerivativeComputeMemoryPolicy_t =
cuestDFSymmetricDerivativeComputeMemoryPolicy_t(2);
#[doc = "< Recompute DFIntPlan intermediates. This leaves the DFIntPlan in a usable state, but may not be bitwise identical."]
pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_RECOMPUTE:
cuestDFSymmetricDerivativeComputeMemoryPolicy_t =
cuestDFSymmetricDerivativeComputeMemoryPolicy_t(3);
#[repr(transparent)]
#[doc = " @brief Specifies what memory policy should be used.\n @ingroup Enums"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFSymmetricDerivativeComputeMemoryPolicy_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCPOTENTIALRKSCOMPUTE_PARAMETERS_NONE:
cuestXCPotentialRKSComputeParametersAttributes_t =
cuestXCPotentialRKSComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC potential RKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCPOTENTIALRKSCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCPotentialRKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCPOTENTIALUKSCOMPUTE_PARAMETERS_NONE:
cuestXCPotentialUKSComputeParametersAttributes_t =
cuestXCPotentialUKSComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC potential UKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCPOTENTIALUKSCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCPotentialUKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCDERIVATIVERKSCOMPUTE_PARAMETERS_NONE:
cuestXCDerivativeRKSComputeParametersAttributes_t =
cuestXCDerivativeRKSComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC derivative RKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCDERIVATIVERKSCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCDerivativeRKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCDERIVATIVEUKSCOMPUTE_PARAMETERS_NONE:
cuestXCDerivativeUKSComputeParametersAttributes_t =
cuestXCDerivativeUKSComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC derivative UKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCDERIVATIVEUKSCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCDerivativeUKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Global scaling for VV10 nonlocal correlation. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_SCALE:
cuestNonlocalXCPotentialRKSComputeParametersAttributes_t =
cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(0);
#[doc = "< VV10 C parameter. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_C:
cuestNonlocalXCPotentialRKSComputeParametersAttributes_t =
cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(1);
#[doc = "< VV10 b parameter. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_B:
cuestNonlocalXCPotentialRKSComputeParametersAttributes_t =
cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(2);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestNonlocalXCPotentialRKSComputeParametersAttributes_t =
cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(3);
#[repr(transparent)]
#[doc = " @brief Properties supported for nonlocal XC potential RKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_SCALE : double\n - \\c CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_C : double\n - \\c CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_B : double\n - \\c CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Global scaling for VV10 nonlocal correlation. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_SCALE:
cuestNonlocalXCPotentialUKSComputeParametersAttributes_t =
cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(0);
#[doc = "< VV10 C parameter. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_C:
cuestNonlocalXCPotentialUKSComputeParametersAttributes_t =
cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(1);
#[doc = "< VV10 b parameter. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_B:
cuestNonlocalXCPotentialUKSComputeParametersAttributes_t =
cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(2);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestNonlocalXCPotentialUKSComputeParametersAttributes_t =
cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(3);
#[repr(transparent)]
#[doc = " @brief Properties supported for nonlocal XC potential UKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_SCALE : double\n - \\c CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_C : double\n - \\c CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_B : double\n - \\c CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Global scaling for VV10 nonlocal correlation. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_SCALE:
cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t =
cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(0);
#[doc = "< VV10 C parameter. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_C:
cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t =
cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(1);
#[doc = "< VV10 b parameter. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_B:
cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t =
cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(2);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t =
cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(3);
#[repr(transparent)]
#[doc = " @brief Properties supported for nonlocal XC derivative RKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_SCALE : double\n - \\c CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_C : double\n - \\c CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_B : double\n - \\c CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Global scaling for VV10 nonlocal correlation. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_SCALE:
cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t =
cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(0);
#[doc = "< VV10 C parameter. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_C:
cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t =
cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(1);
#[doc = "< VV10 b parameter. \\b Default: 0.0."]
pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_B:
cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t =
cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(2);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t =
cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(3);
#[repr(transparent)]
#[doc = " @brief Properties supported for nonlocal XC derivative UKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_SCALE : double\n - \\c CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_C : double\n - \\c CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_B : double\n - \\c CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCDENSITYCOMPUTE_PARAMETERS_NONE: cuestXCDensityComputeParametersAttributes_t =
cuestXCDensityComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC density compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCDENSITYCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCDensityComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCPOTENTIALCOMPUTE_PARAMETERS_NONE: cuestXCPotentialComputeParametersAttributes_t =
cuestXCPotentialComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC potential compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCPOTENTIALCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCPotentialComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCDERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestXCDerivativeComputeParametersAttributes_t =
cuestXCDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCNONSYMMETRICDENSITYCOMPUTE_PARAMETERS_NONE:
cuestXCNonsymmetricDensityComputeParametersAttributes_t =
cuestXCNonsymmetricDensityComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC nonsymmetric density compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCNONSYMMETRICDENSITYCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCNonsymmetricDensityComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCNONSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestXCNonsymmetricDerivativeComputeParametersAttributes_t =
cuestXCNonsymmetricDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC nonsymmetric derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCNONSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCNonsymmetricDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCGRIDDERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestXCGridDerivativeComputeParametersAttributes_t =
cuestXCGridDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC grid derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCGRIDDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCGridDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCINTEGRATIONGRIDCOMPUTE_PARAMETERS_NONE:
cuestXCIntegrationGridComputeParametersAttributes_t =
cuestXCIntegrationGridComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC integration grid compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCINTEGRATIONGRIDCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCIntegrationGridComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_XCINTEGRATIONWEIGHTCOMPUTE_PARAMETERS_NONE:
cuestXCIntegrationWeightComputeParametersAttributes_t =
cuestXCIntegrationWeightComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for XC integration weight compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCINTEGRATIONWEIGHTCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCIntegrationWeightComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< The total integration weight. Angular x radial x Becke"]
pub const CUEST_XCINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_TOTAL:
cuestXCIntegrationWeightComputeParametersWeightType_t =
cuestXCIntegrationWeightComputeParametersWeightType_t(0);
#[doc = "< The Becke integration weight."]
pub const CUEST_XCINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_BECKE:
cuestXCIntegrationWeightComputeParametersWeightType_t =
cuestXCIntegrationWeightComputeParametersWeightType_t(1);
#[doc = "< The integration weights from angular and radial quadratures."]
pub const CUEST_XCINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_QUADRATURE:
cuestXCIntegrationWeightComputeParametersWeightType_t =
cuestXCIntegrationWeightComputeParametersWeightType_t(2);
#[repr(transparent)]
#[doc = " @brief Specifies which XC integration weights to compute.\n @ingroup Enums"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCIntegrationWeightComputeParametersWeightType_t(pub ::core::ffi::c_uint);
#[doc = "< LDA approximation: depends only on the density."]
pub const CUEST_XCADVANCED_PARAMETERS_APPROXIMATION_LDA:
cuestXCAdvancedComputeParametersApproximation_t =
cuestXCAdvancedComputeParametersApproximation_t(0);
#[doc = "< GGA approximation: depends on the density and derivatives of the density."]
pub const CUEST_XCADVANCED_PARAMETERS_APPROXIMATION_GGA:
cuestXCAdvancedComputeParametersApproximation_t =
cuestXCAdvancedComputeParametersApproximation_t(1);
#[doc = "< meta-GGA approximation: depends on the density, derivatives of the density, and tau."]
pub const CUEST_XCADVANCED_PARAMETERS_APPROXIMATION_METAGGA:
cuestXCAdvancedComputeParametersApproximation_t =
cuestXCAdvancedComputeParametersApproximation_t(2);
#[repr(transparent)]
#[doc = " @brief Specifies what local approximation is desired.\n @ingroup Enums\n\n This parameter changes the expected dimension of the density/potential arrays used for input/output:\n\n LDA dimension: [ number of grid points, 1]\n GGA dimension: [ number of grid points, 4]\n meta-GGA dimension: [ number of grid points, 5]\n\n For each row, LDA expects: \\f$ [ \\rho ] \\f$\n For each row, GGA expects: \\f$ [ \\rho, \\nabla_{x}\\rho, \\nabla_{y}\\rho, \\nabla_{z}\\rho ] \\f$\n For each row, meta-GGA expects: \\f$ [ \\rho, \\nabla_{x}\\rho, \\nabla_{y}\\rho, \\nabla_{z}\\rho, \\tau ] \\f$\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestXCAdvancedComputeParametersApproximation_t(pub ::core::ffi::c_uint);
#[doc = "< Cutoff for surface points' iSWIG switching function, below which the point is considered inactive. \\b Default: 1e-12."]
pub const CUEST_PCMINTPLAN_PARAMETERS_CUTOFF: cuestPCMIntPlanParametersAttributes_t =
cuestPCMIntPlanParametersAttributes_t(0);
#[doc = "< PCM prefactor \\f$ f = (\\epsilon - 1)/(\\epsilon + x) \\f$ , where \\f$ x==0.0 \\f$ gives CPCM and \\f$ x==1/2\\f$ corresponds to COSMO. \\b Default: 0.0."]
pub const CUEST_PCMINTPLAN_PARAMETERS_X_PREFACTOR: cuestPCMIntPlanParametersAttributes_t =
cuestPCMIntPlanParametersAttributes_t(1);
#[repr(transparent)]
#[doc = " @brief Properties supported for PCM integral plan parameters.\n @ingroup Enums\n\n - \\c CUEST_PCMINTPLAN_PARAMETERS_CUTOFF : double\n - \\c CUEST_PCMINTPLAN_PARAMETERS_X_PREFACTOR : double"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Convergence threshold (max absolute residual value) for PCM charges computation. \\b Default: 1e-10."]
pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD:
cuestPCMPotentialComputeParametersAttributes_t =
cuestPCMPotentialComputeParametersAttributes_t(0);
#[doc = "< Maximum number of preconditioned conjugate gradient iterations for PCM charges computation. \\b Default: 200."]
pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_MAX_ITERATIONS:
cuestPCMPotentialComputeParametersAttributes_t =
cuestPCMPotentialComputeParametersAttributes_t(1);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestPCMPotentialComputeParametersAttributes_t =
cuestPCMPotentialComputeParametersAttributes_t(2);
#[doc = "< Parameter to control the use of JIT-compiled kernels. \\b Default: CUEST_JIT_USAGE_MODE_ON on CUDA 13.x+, CUEST_JIT_USAGE_MODE_OFF otherwise."]
pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_JIT_USAGE_MODE:
cuestPCMPotentialComputeParametersAttributes_t =
cuestPCMPotentialComputeParametersAttributes_t(3);
#[repr(transparent)]
#[doc = " @brief Properties supported for PCM potential compute parameters.\n @ingroup Enums\n\n - \\c CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD : double\n - \\c CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_MAX_ITERATIONS : uint64_t\n - \\c CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)\n - \\c CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_JIT_USAGE_MODE : cuestJITUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMPotentialComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Convergence threshold (max absolute residual value) for PCM charges computation. \\b Default: 1e-10."]
pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD:
cuestPCMDerivativeComputeParametersAttributes_t =
cuestPCMDerivativeComputeParametersAttributes_t(0);
#[doc = "< Maximum number of preconditioned conjugate gradient iterations for PCM charges computation. \\b Default: 200."]
pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_MAX_ITERATIONS:
cuestPCMDerivativeComputeParametersAttributes_t =
cuestPCMDerivativeComputeParametersAttributes_t(1);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestPCMDerivativeComputeParametersAttributes_t =
cuestPCMDerivativeComputeParametersAttributes_t(2);
#[doc = "< Parameter to control the use of JIT-compiled kernels. \\b Default: CUEST_JIT_USAGE_MODE_ON on CUDA 13.x+, CUEST_JIT_USAGE_MODE_OFF otherwise."]
pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE:
cuestPCMDerivativeComputeParametersAttributes_t =
cuestPCMDerivativeComputeParametersAttributes_t(3);
#[repr(transparent)]
#[doc = " @brief Properties supported for PCM derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD : double\n - \\c CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_MAX_ITERATIONS : uint64_t\n - \\c CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)\n - \\c CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE : cuestJITUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Convergence threshold (max absolute residual value) for PCM charges computation. \\b Default: 1e-10."]
pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD:
cuestPCMRadiiDerivativeComputeParametersAttributes_t =
cuestPCMRadiiDerivativeComputeParametersAttributes_t(0);
#[doc = "< Maximum number of preconditioned conjugate gradient iterations for PCM charges computation. \\b Default: 200."]
pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_MAX_ITERATIONS:
cuestPCMRadiiDerivativeComputeParametersAttributes_t =
cuestPCMRadiiDerivativeComputeParametersAttributes_t(1);
#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
cuestPCMRadiiDerivativeComputeParametersAttributes_t =
cuestPCMRadiiDerivativeComputeParametersAttributes_t(2);
#[doc = "< Parameter to control the use of JIT-compiled kernels. \\b Default: CUEST_JIT_USAGE_MODE_ON on CUDA 13.x+, CUEST_JIT_USAGE_MODE_OFF otherwise."]
pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE:
cuestPCMRadiiDerivativeComputeParametersAttributes_t =
cuestPCMRadiiDerivativeComputeParametersAttributes_t(3);
#[repr(transparent)]
#[doc = " @brief Properties supported for PCM radii derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD : double\n - \\c CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_MAX_ITERATIONS : uint64_t\n - \\c CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE : cuestFfloatUsageMode_t (enum)\n - \\c CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE : cuestJITUsageMode_t (enum)"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMRadiiDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_MULTIPOLECOMPUTE_PARAMETERS_NONE: cuestMultipoleComputeParametersAttributes_t =
cuestMultipoleComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for multipole compute parameters.\n @ingroup Enums\n\n - \\c CUEST_MULTIPOLECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestMultipoleComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_MULTIPOLEDERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestMultipoleDerivativeComputeParametersAttributes_t =
cuestMultipoleDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for multipole derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_MULTIPOLEDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestMultipoleDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_NONE:
cuestAngularMomentumComputeParametersAttributes_t =
cuestAngularMomentumComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for angular momentum compute parameters.\n @ingroup Enums\n\n - \\c CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAngularMomentumComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_ANGULARMOMENTUMDERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestAngularMomentumDerivativeComputeParametersAttributes_t =
cuestAngularMomentumDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for angular momentum derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_ANGULARMOMENTUMDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAngularMomentumDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< L_x = y d/dz - z d/dy"]
pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_COMPONENT_LX:
cuestAngularMomentumComputeParametersComponent_t =
cuestAngularMomentumComputeParametersComponent_t(0);
#[doc = "< L_y = z d/dx - x d/dz"]
pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_COMPONENT_LY:
cuestAngularMomentumComputeParametersComponent_t =
cuestAngularMomentumComputeParametersComponent_t(1);
#[doc = "< L_z = x d/dy - y d/dx"]
pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_COMPONENT_LZ:
cuestAngularMomentumComputeParametersComponent_t =
cuestAngularMomentumComputeParametersComponent_t(2);
#[repr(transparent)]
#[doc = " @brief Specifies what angular momentum operator to evaluate\n @ingroup Enums\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestAngularMomentumComputeParametersComponent_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_NABLACOMPUTE_PARAMETERS_NONE: cuestNablaComputeParametersAttributes_t =
cuestNablaComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for nabla compute parameters.\n @ingroup Enums\n\n - \\c CUEST_NABLACOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestNablaComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_NABLADERIVATIVECOMPUTE_PARAMETERS_NONE:
cuestNablaDerivativeComputeParametersAttributes_t =
cuestNablaDerivativeComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for nabla derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_NABLADERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestNablaDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< \\nabla_x"]
pub const CUEST_NABLACOMPUTE_PARAMETERS_COMPONENT_X: cuestNablaComputeParametersComponent_t =
cuestNablaComputeParametersComponent_t(0);
#[doc = "< \\nabla_y"]
pub const CUEST_NABLACOMPUTE_PARAMETERS_COMPONENT_Y: cuestNablaComputeParametersComponent_t =
cuestNablaComputeParametersComponent_t(1);
#[doc = "< \\nabla_z"]
pub const CUEST_NABLACOMPUTE_PARAMETERS_COMPONENT_Z: cuestNablaComputeParametersComponent_t =
cuestNablaComputeParametersComponent_t(2);
#[repr(transparent)]
#[doc = " @brief Specifies what nabla operator to evaluate\n @ingroup Enums\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestNablaComputeParametersComponent_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_PCMINTEGRATIONGRIDCOMPUTE_PARAMETERS_NONE:
cuestPCMIntegrationGridComputeParametersAttributes_t =
cuestPCMIntegrationGridComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for PCM integration grid compute parameters.\n @ingroup Enums\n\n - \\c CUEST_PCMINTEGRATIONGRIDCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMIntegrationGridComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_PCMINTEGRATIONWEIGHTCOMPUTE_PARAMETERS_NONE:
cuestPCMIntegrationWeightComputeParametersAttributes_t =
cuestPCMIntegrationWeightComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for PCM integration weight compute parameters.\n @ingroup Enums\n\n - \\c CUEST_PCMINTEGRATIONWEIGHTCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMIntegrationWeightComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = "< The value of the iSWIG switching function."]
pub const CUEST_PCMINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_SWITCHING:
cuestPCMIntegrationWeightComputeParametersWeightType_t =
cuestPCMIntegrationWeightComputeParametersWeightType_t(0);
#[doc = "< The value of zeta."]
pub const CUEST_PCMINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_ZETA:
cuestPCMIntegrationWeightComputeParametersWeightType_t =
cuestPCMIntegrationWeightComputeParametersWeightType_t(1);
#[repr(transparent)]
#[doc = " @brief Specifies which PCM integration weights to compute.\n @ingroup Enums"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMIntegrationWeightComputeParametersWeightType_t(pub ::core::ffi::c_uint);
#[doc = "< Reserved for future use."]
pub const CUEST_DFMOINTEGRALSCOMPUTE_PARAMETERS_NONE:
cuestDFMOIntegralsComputeParametersAttributes_t =
cuestDFMOIntegralsComputeParametersAttributes_t(0);
#[repr(transparent)]
#[doc = " @brief Properties supported for DF MO integral compute parameters.\n @ingroup Enums\n\n - \\c CUEST_DFMOINTEGRALSCOMPUTE_PARAMETERS_NONE : uint64_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestDFMOIntegralsComputeParametersAttributes_t(pub ::core::ffi::c_uint);
#[doc = " @brief A structure that stores pointers and sizes for host and device workspace memory.\n @ingroup Structs\n\n Each buffer must be appropriately allocated by the user before use.\n\n This struct is passed to cuEST object-creation APIs to provide necessary working memory.\n Buffers must outlive objects using them.\n All pointers may be set to 0/null if the corresponding buffer is not used."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cuestWorkspace_t {
#[doc = "< Opaque pointer to host-side workspace buffer (cast to \\c uintptr_t for opaque handling)"]
pub hostBuffer: usize,
#[doc = "< Size of host workspace in bytes"]
pub hostBufferSizeInBytes: usize,
#[doc = "< Opaque pointer to device-side (GPU) workspace buffer (cast to \\c uintptr_t for opaque handling)"]
pub deviceBuffer: usize,
#[doc = "< Size of device workspace in bytes"]
pub deviceBufferSizeInBytes: usize,
}
#[doc = " @brief A structure that specifies required sizes for host and device workspace buffers.\n @ingroup Structs\n\n Used as output from workspace query functions to communicate necessary allocation sizes.\n Does not include buffer pointers—only the size requirements.\n These sizes should be used by the client to allocate memory and populate a \\c cuestWorkspace_t\n before passing to object creation functions."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cuestWorkspaceDescriptor_t {
#[doc = "< Required size of host workspace buffer in bytes"]
pub hostBufferSizeInBytes: usize,
#[doc = "< Required size of device workspace buffer in bytes"]
pub deviceBufferSizeInBytes: usize,
}
#[doc = " @brief Opaque handle representing the results returned by cuEST compute routines.\n See \\c cuestPCMResultAttributes_t for attributes that may be queried from this handle.\n @ingroup TypeDefs"]
pub type cuestPCMResults_t = *mut ::core::ffi::c_void;
#[doc = "< Alias for cuestPCMResults_t"]
pub const CUEST_PCM_RESULTS: cuestResultsType_t = cuestResultsType_t(0);
#[repr(transparent)]
#[doc = " @brief Provides unique identifiers for each of the opaque handles to result structures.\n @ingroup Enums\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestResultsType_t(pub ::core::ffi::c_uint);
#[doc = "< PCM dielectric energy"]
pub const CUEST_PCMRESULT_PCM_DIELECTRIC_ENERGY: cuestPCMResultAttributes_t =
cuestPCMResultAttributes_t(0);
#[doc = "< Maximum absolute value of the residual at the last iteration"]
pub const CUEST_PCMRESULT_CONVERGED_RESIDUAL: cuestPCMResultAttributes_t =
cuestPCMResultAttributes_t(1);
#[doc = "< Number of iterations taken to converge to the converged residual"]
pub const CUEST_PCMRESULT_NUM_ITERATIONS_TAKEN: cuestPCMResultAttributes_t =
cuestPCMResultAttributes_t(2);
#[doc = "< Whether the PCM charges converged"]
pub const CUEST_PCMRESULT_CONVERGED: cuestPCMResultAttributes_t = cuestPCMResultAttributes_t(3);
#[repr(transparent)]
#[doc = " @brief List of attributes that may be queried from a cuEST PCM result object.\n @ingroup Enums\n\n For each attribute, the expected return type is given:\n\n - \\c CUEST_PCMRESULT_PCM_DIELECTRIC_ENERGY : double\n - \\c CUEST_PCMRESULT_CONVERGED_RESIDUAL : double\n - \\c CUEST_PCMRESULT_NUM_ITERATIONS_TAKEN : uint64_t\n - \\c CUEST_PCMRESULT_CONVERGED : int32_t"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cuestPCMResultAttributes_t(pub ::core::ffi::c_uint);