1#![allow(non_camel_case_types)]
7
8pub const CUEST_VER_MAJOR: u32 = 0;
11pub const CUEST_VER_MINOR: u32 = 2;
12pub const CUEST_VER_PATCH: u32 = 2;
13pub const CUEST_VERSION: u32 = 202;
14#[doc = "< Success: Operation completed with no error"]
15pub const CUEST_STATUS_SUCCESS: cuestStatus_t = cuestStatus_t(0);
16#[doc = "< An exception was thrown during the operation"]
17pub const CUEST_STATUS_EXCEPTION: cuestStatus_t = cuestStatus_t(1);
18#[doc = "< One or more required input pointers were NULL"]
19pub const CUEST_STATUS_NULL_POINTER: cuestStatus_t = cuestStatus_t(2);
20#[doc = "< One or more arguments were invalid (e.g., out-of-range, zero-length)"]
21pub const CUEST_STATUS_INVALID_ARGUMENT: cuestStatus_t = cuestStatus_t(3);
22#[doc = "< Input buffer/argument size did not match expected size"]
23pub const CUEST_STATUS_INVALID_SIZE: cuestStatus_t = cuestStatus_t(4);
24#[doc = "< The specified cuEST type does not exist"]
25pub const CUEST_STATUS_INVALID_TYPE: cuestStatus_t = cuestStatus_t(5);
26#[doc = "< The parameter being queried/set is invalid"]
27pub const CUEST_STATUS_INVALID_PARAMETER: cuestStatus_t = cuestStatus_t(6);
28#[doc = "< The attribute being queried is invalid"]
29pub const CUEST_STATUS_INVALID_ATTRIBUTE: cuestStatus_t = cuestStatus_t(7);
30#[doc = "< The cuEST handle passed to the function is invalid"]
31pub const CUEST_STATUS_INVALID_HANDLE: cuestStatus_t = cuestStatus_t(8);
32#[doc = "< Unspecified error: unknown or unexpected condition"]
33pub const CUEST_STATUS_UNKNOWN_ERROR: cuestStatus_t = cuestStatus_t(9);
34#[doc = "< One or more arguments are not supported by cuEST"]
35pub const CUEST_STATUS_UNSUPPORTED_ARGUMENT: cuestStatus_t = cuestStatus_t(10);
36#[doc = "< The device architecture is not supported by cuEST"]
37pub const CUEST_STATUS_UNSUPPORTED_ARCHITECTURE: cuestStatus_t = cuestStatus_t(11);
38#[doc = "< One or more of the plans passed to the function were not in a usable state"]
39pub const CUEST_STATUS_INVALID_PLAN: cuestStatus_t = cuestStatus_t(12);
40#[doc = "< The HOME environment variable is not set or empty, so the default JIT cache directory cannot be derived"]
41pub const CUEST_STATUS_HOME_NOT_FOUND: cuestStatus_t = cuestStatus_t(13);
42#[repr(transparent)]
43#[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."]
44#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
45pub struct cuestStatus_t(pub ::core::ffi::c_uint);
46#[doc = " @brief Opaque handle representing the cuEST library context.\n @ingroup TypeDefs"]
47pub type cuestHandle_t = *mut ::core::ffi::c_void;
48#[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"]
49pub type cuestAOShell_t = *mut ::core::ffi::c_void;
50#[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"]
51pub type cuestAOBasis_t = *mut ::core::ffi::c_void;
52#[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"]
53pub type cuestAOPairList_t = *mut ::core::ffi::c_void;
54#[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"]
55pub type cuestECPShell_t = *mut ::core::ffi::c_void;
56#[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"]
57pub type cuestECPAtom_t = *mut ::core::ffi::c_void;
58#[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"]
59pub type cuestOEIntPlan_t = *mut ::core::ffi::c_void;
60#[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"]
61pub type cuestECPIntPlan_t = *mut ::core::ffi::c_void;
62#[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"]
63pub type cuestDFIntPlan_t = *mut ::core::ffi::c_void;
64#[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"]
65pub type cuestAtomGrid_t = *mut ::core::ffi::c_void;
66#[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"]
67pub type cuestMolecularGrid_t = *mut ::core::ffi::c_void;
68#[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"]
69pub type cuestXCIntPlan_t = *mut ::core::ffi::c_void;
70#[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"]
71pub type cuestPCMIntPlan_t = *mut ::core::ffi::c_void;
72#[doc = "< Alias for cuestHandle_t"]
73pub const CUEST_HANDLE: cuestType_t = cuestType_t(0);
74#[doc = "< Alias for cuestAOShell_t"]
75pub const CUEST_AOSHELL: cuestType_t = cuestType_t(1);
76#[doc = "< Alias for cuestAOBasis_t"]
77pub const CUEST_AOBASIS: cuestType_t = cuestType_t(2);
78#[doc = "< Alias for cuestAOPairList_t"]
79pub const CUEST_AOPAIRLIST: cuestType_t = cuestType_t(3);
80#[doc = "< Alias for cuestOEIntPlan_t"]
81pub const CUEST_OEINTPLAN: cuestType_t = cuestType_t(4);
82#[doc = "< Alias for cuestDFIntPlan_t"]
83pub const CUEST_DFINTPLAN: cuestType_t = cuestType_t(5);
84#[doc = "< Alias for cuestAtomGrid_t"]
85pub const CUEST_ATOMGRID: cuestType_t = cuestType_t(6);
86#[doc = "< Alias for cuestMolecularGrid_t"]
87pub const CUEST_MOLECULARGRID: cuestType_t = cuestType_t(7);
88#[doc = "< Alias for cuestXCIntPlan_t"]
89pub const CUEST_XCINTPLAN: cuestType_t = cuestType_t(8);
90#[doc = "< Alias for cuestPCMIntPlan_t"]
91pub const CUEST_PCMINTPLAN: cuestType_t = cuestType_t(9);
92#[doc = "< Alias for cuestECPShell_t"]
93pub const CUEST_ECPSHELL: cuestType_t = cuestType_t(10);
94#[doc = "< Alias for cuestECPAtom_t"]
95pub const CUEST_ECPATOM: cuestType_t = cuestType_t(11);
96#[doc = "< Alias for cuestECPIntPlan_t"]
97pub const CUEST_ECPINTPLAN: cuestType_t = cuestType_t(12);
98#[repr(transparent)]
99#[doc = " @brief Enum that provides unique identifiers for each of the opaque handles.\n @ingroup Enums\n"]
100#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
101pub struct cuestType_t(pub ::core::ffi::c_uint);
102#[doc = "< Reserved for future use."]
103pub const CUEST_HANDLE_NONE: cuestHandleAttributes_t = cuestHandleAttributes_t(0);
104#[repr(transparent)]
105#[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"]
106#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
107pub struct cuestHandleAttributes_t(pub ::core::ffi::c_uint);
108#[doc = "< Whether shell uses pure (spherical) functions (nonzero if true)"]
109pub const CUEST_AOSHELL_IS_PURE: cuestAOShellAttributes_t = cuestAOShellAttributes_t(0);
110#[doc = "< Angular momentum quantum number (L)"]
111pub const CUEST_AOSHELL_L: cuestAOShellAttributes_t = cuestAOShellAttributes_t(1);
112#[doc = "< Number of primitive Gaussians"]
113pub const CUEST_AOSHELL_NUM_PRIMITIVE: cuestAOShellAttributes_t = cuestAOShellAttributes_t(2);
114#[doc = "< Number of basis functions (AOs, either pure or cartesian as set)"]
115pub const CUEST_AOSHELL_NUM_AO: cuestAOShellAttributes_t = cuestAOShellAttributes_t(3);
116#[doc = "< Number of pure (spherical) AOs"]
117pub const CUEST_AOSHELL_NUM_PURE: cuestAOShellAttributes_t = cuestAOShellAttributes_t(4);
118#[doc = "< Number of cartesian AOs"]
119pub const CUEST_AOSHELL_NUM_CART: cuestAOShellAttributes_t = cuestAOShellAttributes_t(5);
120#[repr(transparent)]
121#[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"]
122#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
123pub struct cuestAOShellAttributes_t(pub ::core::ffi::c_uint);
124#[doc = "< Nonzero if all shells are pure (spherical), zero otherwise"]
125pub const CUEST_AOBASIS_IS_PURE: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(0);
126#[doc = "< Nonzero if all shells are cartesian, zero otherwise"]
127pub const CUEST_AOBASIS_IS_CART: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(1);
128#[doc = "< Nonzero if shells are mixed spherical/cartesian, zero otherwise"]
129pub const CUEST_AOBASIS_IS_MIXED: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(2);
130#[doc = "< Number of basis function centers"]
131pub const CUEST_AOBASIS_NUM_ATOM: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(3);
132#[doc = "< Total number of AO shells"]
133pub const CUEST_AOBASIS_NUM_SHELL: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(4);
134#[doc = "< Total number of basis functions (AOs)"]
135pub const CUEST_AOBASIS_NUM_AO: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(5);
136#[doc = "< Total number of Cartesian basis functions"]
137pub const CUEST_AOBASIS_NUM_CART: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(6);
138#[doc = "< Total number of Gaussian primitives"]
139pub const CUEST_AOBASIS_NUM_PRIMITIVE: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(7);
140#[doc = "< Maximum angular momentum (L) among shells"]
141pub const CUEST_AOBASIS_MAX_L: cuestAOBasisAttributes_t = cuestAOBasisAttributes_t(8);
142#[repr(transparent)]
143#[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"]
144#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
145pub struct cuestAOBasisAttributes_t(pub ::core::ffi::c_uint);
146#[doc = "< Reserved for future use."]
147pub const CUEST_AOPAIRLIST_NONE: cuestAOPairListAttributes_t = cuestAOPairListAttributes_t(0);
148#[repr(transparent)]
149#[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"]
150#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
151pub struct cuestAOPairListAttributes_t(pub ::core::ffi::c_uint);
152#[doc = "< Angular momentum quantum number (L)"]
153pub const CUEST_ECPSHELL_L: cuestECPShellAttributes_t = cuestECPShellAttributes_t(0);
154#[doc = "< Number of primitives"]
155pub const CUEST_ECPSHELL_NUM_PRIMITIVE: cuestECPShellAttributes_t = cuestECPShellAttributes_t(1);
156#[repr(transparent)]
157#[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"]
158#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
159pub struct cuestECPShellAttributes_t(pub ::core::ffi::c_uint);
160#[doc = "< Max angular momentum quantum number (L)"]
161pub const CUEST_ECPATOM_MAX_L: cuestECPAtomAttributes_t = cuestECPAtomAttributes_t(0);
162#[doc = "< Number of electrons"]
163pub const CUEST_ECPATOM_NUM_ELECTRON: cuestECPAtomAttributes_t = cuestECPAtomAttributes_t(1);
164#[repr(transparent)]
165#[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"]
166#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
167pub struct cuestECPAtomAttributes_t(pub ::core::ffi::c_uint);
168#[doc = "< Reserved for future use."]
169pub const CUEST_OEINTPLAN_NONE: cuestOEIntPlanAttributes_t = cuestOEIntPlanAttributes_t(0);
170#[repr(transparent)]
171#[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"]
172#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
173pub struct cuestOEIntPlanAttributes_t(pub ::core::ffi::c_uint);
174#[doc = "< Number of ECP active atoms"]
175pub const CUEST_ECPINTPLAN_NUM_ACTIVE_ATOM: cuestECPIntPlanAttributes_t =
176 cuestECPIntPlanAttributes_t(0);
177#[doc = "< Number of electrons modeled by ECPs"]
178pub const CUEST_ECPINTPLAN_NUM_ELECTRON: cuestECPIntPlanAttributes_t =
179 cuestECPIntPlanAttributes_t(1);
180#[doc = "< Max angular momentum in ECP basis"]
181pub const CUEST_ECPINTPLAN_MAX_L: cuestECPIntPlanAttributes_t = cuestECPIntPlanAttributes_t(2);
182#[doc = "< Number of radial grid points"]
183pub const CUEST_ECPINTPLAN_NUM_RADIAL_POINT: cuestECPIntPlanAttributes_t =
184 cuestECPIntPlanAttributes_t(3);
185#[doc = "< Number of angular grid points"]
186pub const CUEST_ECPINTPLAN_NUM_SPHERICAL_POINT: cuestECPIntPlanAttributes_t =
187 cuestECPIntPlanAttributes_t(4);
188#[doc = "< Number of grid points"]
189pub const CUEST_ECPINTPLAN_NUM_POINT: cuestECPIntPlanAttributes_t = cuestECPIntPlanAttributes_t(5);
190#[repr(transparent)]
191#[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"]
192#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
193pub struct cuestECPIntPlanAttributes_t(pub ::core::ffi::c_uint);
194#[doc = "< Reserved for future use."]
195pub const CUEST_DFINTPLAN_NONE: cuestDFIntPlanAttributes_t = cuestDFIntPlanAttributes_t(0);
196#[repr(transparent)]
197#[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"]
198#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
199pub struct cuestDFIntPlanAttributes_t(pub ::core::ffi::c_uint);
200#[doc = "< Total number of grid points"]
201pub const CUEST_ATOMGRID_NUM_POINT: cuestAtomGridAttributes_t = cuestAtomGridAttributes_t(0);
202#[doc = "< Number of radial points"]
203pub const CUEST_ATOMGRID_NUM_RADIAL_POINT: cuestAtomGridAttributes_t = cuestAtomGridAttributes_t(1);
204#[doc = "< Maximum number of angular points"]
205pub const CUEST_ATOMGRID_MAX_ANGULAR_POINT: cuestAtomGridAttributes_t =
206 cuestAtomGridAttributes_t(2);
207#[repr(transparent)]
208#[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"]
209#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
210pub struct cuestAtomGridAttributes_t(pub ::core::ffi::c_uint);
211#[doc = "< Number of atom centers in the grid definition"]
212pub const CUEST_MOLECULARGRID_NUM_ATOM: cuestMolecularGridAttributes_t =
213 cuestMolecularGridAttributes_t(0);
214#[doc = "< Total number of grid points"]
215pub const CUEST_MOLECULARGRID_NUM_POINT: cuestMolecularGridAttributes_t =
216 cuestMolecularGridAttributes_t(1);
217#[doc = "< Maximum number of points for any atom"]
218pub const CUEST_MOLECULARGRID_MAX_POINT: cuestMolecularGridAttributes_t =
219 cuestMolecularGridAttributes_t(2);
220#[doc = "< Total number of radial points"]
221pub const CUEST_MOLECULARGRID_NUM_RADIAL_POINT: cuestMolecularGridAttributes_t =
222 cuestMolecularGridAttributes_t(3);
223#[doc = "< Maximum number of radial points for any atom"]
224pub const CUEST_MOLECULARGRID_MAX_RADIAL_POINT: cuestMolecularGridAttributes_t =
225 cuestMolecularGridAttributes_t(4);
226#[doc = "< Maximum number of angular points for any radial point"]
227pub const CUEST_MOLECULARGRID_MAX_ANGULAR_POINT: cuestMolecularGridAttributes_t =
228 cuestMolecularGridAttributes_t(5);
229#[repr(transparent)]
230#[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"]
231#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
232pub struct cuestMolecularGridAttributes_t(pub ::core::ffi::c_uint);
233#[doc = "< Scaling factor for HF (exact) exchange"]
234pub const CUEST_XCINTPLAN_EXCHANGE_SCALE: cuestXCIntPlanAttributes_t =
235 cuestXCIntPlanAttributes_t(0);
236#[doc = "< Scaling factor for LRC HF exchange"]
237pub const CUEST_XCINTPLAN_LRC_EXCHANGE_SCALE: cuestXCIntPlanAttributes_t =
238 cuestXCIntPlanAttributes_t(1);
239#[doc = "< Omega for LRC-containing functionals"]
240pub const CUEST_XCINTPLAN_LRC_OMEGA: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(2);
241#[doc = "< VV10 scaling factor for non-local correlation"]
242pub const CUEST_XCINTPLAN_VV10_SCALE: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(3);
243#[doc = "< VV10 C factor"]
244pub const CUEST_XCINTPLAN_VV10_C: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(4);
245#[doc = "< VV10 b factor"]
246pub const CUEST_XCINTPLAN_VV10_B: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(5);
247#[doc = "< Is the functional hybrid (contains HF exchange)?"]
248pub const CUEST_XCINTPLAN_IS_HYBRID: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(6);
249#[doc = "< Is the functional LRC (contains LRC exchange)?"]
250pub const CUEST_XCINTPLAN_IS_LRC_HYBRID: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(7);
251#[doc = "< Does the functional contain non-local VV10 correlation?"]
252pub const CUEST_XCINTPLAN_IS_VV10: cuestXCIntPlanAttributes_t = cuestXCIntPlanAttributes_t(8);
253#[doc = "< Description of the XC evaluation engine"]
254pub const CUEST_XCINTPLAN_ENGINE_DESCRIPTION: cuestXCIntPlanAttributes_t =
255 cuestXCIntPlanAttributes_t(9);
256#[doc = "< Citation(s) for the XC evaluation engine"]
257pub const CUEST_XCINTPLAN_ENGINE_CITATION: cuestXCIntPlanAttributes_t =
258 cuestXCIntPlanAttributes_t(10);
259#[doc = "< Citation(s) for the functional"]
260pub const CUEST_XCINTPLAN_FUNCTIONAL_CITATION: cuestXCIntPlanAttributes_t =
261 cuestXCIntPlanAttributes_t(11);
262#[doc = "< Description of the functional"]
263pub const CUEST_XCINTPLAN_FUNCTIONAL_DESCRIPTION: cuestXCIntPlanAttributes_t =
264 cuestXCIntPlanAttributes_t(12);
265#[repr(transparent)]
266#[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*"]
267#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
268pub struct cuestXCIntPlanAttributes_t(pub ::core::ffi::c_uint);
269#[doc = "< Total number of surface points."]
270pub const CUEST_PCMINTPLAN_NUM_POINT: cuestPCMIntPlanAttributes_t = cuestPCMIntPlanAttributes_t(0);
271#[doc = "< Total number of active surface points, i.e. those not screened out by the iSWIG switching function."]
272pub const CUEST_PCMINTPLAN_NUM_ACTIVE_POINT: cuestPCMIntPlanAttributes_t =
273 cuestPCMIntPlanAttributes_t(1);
274#[repr(transparent)]
275#[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"]
276#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
277pub struct cuestPCMIntPlanAttributes_t(pub ::core::ffi::c_uint);
278#[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"]
279pub type cuestHandleParameters_t = *mut ::core::ffi::c_void;
280#[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"]
281pub type cuestAOShellParameters_t = *mut ::core::ffi::c_void;
282#[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"]
283pub type cuestAOBasisParameters_t = *mut ::core::ffi::c_void;
284#[doc = " @brief Opaque handle representing the parameters needed for pair list creation.\n @ingroup TypeDefs"]
285pub type cuestAOPairListParameters_t = *mut ::core::ffi::c_void;
286#[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"]
287pub type cuestECPShellParameters_t = *mut ::core::ffi::c_void;
288#[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"]
289pub type cuestECPAtomParameters_t = *mut ::core::ffi::c_void;
290#[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"]
291pub type cuestOEIntPlanParameters_t = *mut ::core::ffi::c_void;
292#[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"]
293pub type cuestECPIntPlanParameters_t = *mut ::core::ffi::c_void;
294#[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"]
295pub type cuestECPComputeParameters_t = *mut ::core::ffi::c_void;
296#[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"]
297pub type cuestECPDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
298#[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"]
299pub type cuestDFIntPlanParameters_t = *mut ::core::ffi::c_void;
300#[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"]
301pub type cuestAtomGridParameters_t = *mut ::core::ffi::c_void;
302#[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"]
303pub type cuestMolecularGridParameters_t = *mut ::core::ffi::c_void;
304#[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"]
305pub type cuestXCIntPlanParameters_t = *mut ::core::ffi::c_void;
306#[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"]
307pub type cuestOverlapComputeParameters_t = *mut ::core::ffi::c_void;
308#[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"]
309pub type cuestOverlapDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
310#[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"]
311pub type cuestKineticComputeParameters_t = *mut ::core::ffi::c_void;
312#[doc = " @brief Opaque handle representing the parameters needed for kinetic gradient computation.\n @ingroup TypeDefs"]
313pub type cuestKineticDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
314#[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"]
315pub type cuestPotentialComputeParameters_t = *mut ::core::ffi::c_void;
316#[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"]
317pub type cuestPotentialDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
318#[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"]
319pub type cuestDFCoulombComputeParameters_t = *mut ::core::ffi::c_void;
320#[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"]
321pub type cuestDFSymmetricExchangeComputeParameters_t = *mut ::core::ffi::c_void;
322#[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"]
323pub type cuestDFNonsymmetricExchangeComputeParameters_t = *mut ::core::ffi::c_void;
324#[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"]
325pub type cuestDFSymmetricDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
326#[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"]
327pub type cuestXCPotentialRKSComputeParameters_t = *mut ::core::ffi::c_void;
328#[doc = " @brief Opaque handle representing the parameters needed for XC UKS potential computation.\n @ingroup TypeDefs"]
329pub type cuestXCPotentialUKSComputeParameters_t = *mut ::core::ffi::c_void;
330#[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"]
331pub type cuestXCDerivativeRKSComputeParameters_t = *mut ::core::ffi::c_void;
332#[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"]
333pub type cuestXCDerivativeUKSComputeParameters_t = *mut ::core::ffi::c_void;
334#[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"]
335pub type cuestNonlocalXCPotentialRKSComputeParameters_t = *mut ::core::ffi::c_void;
336#[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"]
337pub type cuestNonlocalXCPotentialUKSComputeParameters_t = *mut ::core::ffi::c_void;
338#[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"]
339pub type cuestNonlocalXCDerivativeRKSComputeParameters_t = *mut ::core::ffi::c_void;
340#[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"]
341pub type cuestNonlocalXCDerivativeUKSComputeParameters_t = *mut ::core::ffi::c_void;
342#[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"]
343pub type cuestXCDensityComputeParameters_t = *mut ::core::ffi::c_void;
344#[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"]
345pub type cuestXCNonsymmetricDensityComputeParameters_t = *mut ::core::ffi::c_void;
346#[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"]
347pub type cuestXCPotentialComputeParameters_t = *mut ::core::ffi::c_void;
348#[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"]
349pub type cuestXCDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
350#[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"]
351pub type cuestXCNonsymmetricDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
352#[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"]
353pub type cuestXCGridDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
354#[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"]
355pub type cuestXCIntegrationGridComputeParameters_t = *mut ::core::ffi::c_void;
356#[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"]
357pub type cuestXCIntegrationWeightComputeParameters_t = *mut ::core::ffi::c_void;
358#[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"]
359pub type cuestPCMIntPlanParameters_t = *mut ::core::ffi::c_void;
360#[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"]
361pub type cuestPCMPotentialComputeParameters_t = *mut ::core::ffi::c_void;
362#[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"]
363pub type cuestPCMDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
364#[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"]
365pub type cuestPCMRadiiDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
366#[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"]
367pub type cuestMultipoleComputeParameters_t = *mut ::core::ffi::c_void;
368#[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"]
369pub type cuestMultipoleDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
370#[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"]
371pub type cuestAngularMomentumComputeParameters_t = *mut ::core::ffi::c_void;
372#[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"]
373pub type cuestAngularMomentumDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
374#[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"]
375pub type cuestNablaComputeParameters_t = *mut ::core::ffi::c_void;
376#[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"]
377pub type cuestNablaDerivativeComputeParameters_t = *mut ::core::ffi::c_void;
378#[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"]
379pub type cuestPCMIntegrationGridComputeParameters_t = *mut ::core::ffi::c_void;
380#[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"]
381pub type cuestPCMIntegrationWeightComputeParameters_t = *mut ::core::ffi::c_void;
382#[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"]
383pub type cuestDFMOIntegralsComputeParameters_t = *mut ::core::ffi::c_void;
384#[doc = "< Alias for cuestHandleParameters_t"]
385pub const CUEST_HANDLE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(0);
386#[doc = "< Alias for cuestAOShellParameters_t"]
387pub const CUEST_AOSHELL_PARAMETERS: cuestParametersType_t = cuestParametersType_t(1);
388#[doc = "< Alias for cuestAOBasisParameters_t"]
389pub const CUEST_AOBASIS_PARAMETERS: cuestParametersType_t = cuestParametersType_t(2);
390#[doc = "< Alias for cuestAOPairListParameters_t"]
391pub const CUEST_AOPAIRLIST_PARAMETERS: cuestParametersType_t = cuestParametersType_t(3);
392#[doc = "< Alias for cuestOEIntPlanParameters_t"]
393pub const CUEST_OEINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(4);
394#[doc = "< Alias for cuestDFIntPlanParameters_t"]
395pub const CUEST_DFINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(5);
396#[doc = "< Alias for cuestAtomGridParameters_t"]
397pub const CUEST_ATOMGRID_PARAMETERS: cuestParametersType_t = cuestParametersType_t(6);
398#[doc = "< Alias for cuestMolecularGridParameters_t"]
399pub const CUEST_MOLECULARGRID_PARAMETERS: cuestParametersType_t = cuestParametersType_t(7);
400#[doc = "< Alias for cuestXCIntPlanParameters_t"]
401pub const CUEST_XCINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(8);
402#[doc = "< Alias for cuestOverlapComputeParameters_t"]
403pub const CUEST_OVERLAPCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(9);
404#[doc = "< Alias for cuestOverlapDerivativeComputeParameters_t"]
405pub const CUEST_OVERLAPDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
406 cuestParametersType_t(10);
407#[doc = "< Alias for cuestKineticComputeParameters_t"]
408pub const CUEST_KINETICCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(11);
409#[doc = "< Alias for cuestKineticDerivativeComputeParameters_t"]
410pub const CUEST_KINETICDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
411 cuestParametersType_t(12);
412#[doc = "< Alias for cuestPotentialComputeParameters_t"]
413pub const CUEST_POTENTIALCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(13);
414#[doc = "< Alias for cuestPotentialDerivativeComputeParameters_t"]
415pub const CUEST_POTENTIALDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
416 cuestParametersType_t(14);
417#[doc = "< Alias for cuestDFCoulombComputeParameters_t"]
418pub const CUEST_DFCOULOMBCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(15);
419#[doc = "< Alias for cuestDFSymmetricExchangeComputeParameters_t"]
420pub const CUEST_DFSYMMETRICEXCHANGECOMPUTE_PARAMETERS: cuestParametersType_t =
421 cuestParametersType_t(16);
422#[doc = "< Alias for cuestDFSymmetricDerivativeComputeParameters_t"]
423pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
424 cuestParametersType_t(17);
425#[doc = "< Alias for cuestXCPotentialRKSComputeParameters_t"]
426pub const CUEST_XCPOTENTIALRKSCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(18);
427#[doc = "< Alias for cuestXCPotentialUKSComputeParameters_t"]
428pub const CUEST_XCPOTENTIALUKSCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(19);
429#[doc = "< Alias for cuestXCDerivativeRKSComputeParameters_t"]
430pub const CUEST_XCDERIVATIVERKSCOMPUTE_PARAMETERS: cuestParametersType_t =
431 cuestParametersType_t(20);
432#[doc = "< Alias for cuestXCDerivativeUKSComputeParameters_t"]
433pub const CUEST_XCDERIVATIVEUKSCOMPUTE_PARAMETERS: cuestParametersType_t =
434 cuestParametersType_t(21);
435#[doc = "< Alias for cuestNonlocalXCPotentialRKSComputeParameters_t"]
436pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS: cuestParametersType_t =
437 cuestParametersType_t(22);
438#[doc = "< Alias for cuestNonlocalXCPotentialUKSComputeParameters_t"]
439pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS: cuestParametersType_t =
440 cuestParametersType_t(23);
441#[doc = "< Alias for cuestNonlocalXCDerivativeRKSComputeParameters_t"]
442pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS: cuestParametersType_t =
443 cuestParametersType_t(24);
444#[doc = "< Alias for cuestNonlocalXCDerivativeUKSComputeParameters_t"]
445pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS: cuestParametersType_t =
446 cuestParametersType_t(25);
447#[doc = "< Alias for cuestXCDensityComputeParameters_t"]
448pub const CUEST_XCDENSITYCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(26);
449#[doc = "< Alias for cuestXCPotentialComputeParameters_t"]
450pub const CUEST_XCPOTENTIALCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(27);
451#[doc = "< Alias for cuestXCDerivativeComputeParameters_t"]
452pub const CUEST_XCDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(28);
453#[doc = "< Alias for cuestXCGridDerivativeComputeParameters_t"]
454pub const CUEST_XCGRIDDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
455 cuestParametersType_t(29);
456#[doc = "< Alias for cuestXCIntegrationGridComputeParameters_t"]
457pub const CUEST_XCINTEGRATIONGRIDCOMPUTE_PARAMETERS: cuestParametersType_t =
458 cuestParametersType_t(30);
459#[doc = "< Alias for cuestXCIntegrationWeightComputeParameters_t"]
460pub const CUEST_XCINTEGRATIONWEIGHTCOMPUTE_PARAMETERS: cuestParametersType_t =
461 cuestParametersType_t(31);
462#[doc = "< Alias for cuestPCMIntPlanParameters_t"]
463pub const CUEST_PCMINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(32);
464#[doc = "< Alias for cuestPCMPotentialComputeParameters_t"]
465pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(33);
466#[doc = "< Alias for cuestPCMDerivativeComputeParameters_t"]
467pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(34);
468#[doc = "< Alias for cuestECPShellParameters_t"]
469pub const CUEST_ECPSHELL_PARAMETERS: cuestParametersType_t = cuestParametersType_t(35);
470#[doc = "< Alias for cuestECPAtomParameters_t"]
471pub const CUEST_ECPATOM_PARAMETERS: cuestParametersType_t = cuestParametersType_t(36);
472#[doc = "< Alias for cuestECPIntPlanParameters_t"]
473pub const CUEST_ECPINTPLAN_PARAMETERS: cuestParametersType_t = cuestParametersType_t(37);
474#[doc = "< Alias for cuestECPComputeParameters_t"]
475pub const CUEST_ECPCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(38);
476#[doc = "< Alias for cuestECPDerivativeComputeParameters_t"]
477pub const CUEST_ECPDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(39);
478#[doc = "< Alias for cuestDFNonsymmetricExchangeComputeParameters_t"]
479pub const CUEST_DFNONSYMMETRICEXCHANGECOMPUTE_PARAMETERS: cuestParametersType_t =
480 cuestParametersType_t(40);
481#[doc = "< Alias for cuestMultipoleComputeParameters_t"]
482pub const CUEST_MULTIPOLECOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(41);
483#[doc = "< Alias for cuestMultipoleDerivativeComputeParameters_t"]
484pub const CUEST_MULTIPOLEDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
485 cuestParametersType_t(42);
486#[doc = "< Alias for cuestAngularMomentumComputeParameters_t"]
487pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS: cuestParametersType_t =
488 cuestParametersType_t(43);
489#[doc = "< Alias for cuestAngularMomentumDerivativeComputeParameters_t"]
490pub const CUEST_ANGULARMOMENTUMDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
491 cuestParametersType_t(44);
492#[doc = "< Alias for cuestNablaComputeParameters_t"]
493pub const CUEST_NABLACOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(45);
494#[doc = "< Alias for cuestNablaDerivativeComputeParameters_t"]
495pub const CUEST_NABLADERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
496 cuestParametersType_t(46);
497#[doc = "< Alias for cuestPCMIntegrationGridComputeParameters_t"]
498pub const CUEST_PCMINTEGRATIONGRIDCOMPUTE_PARAMETERS: cuestParametersType_t =
499 cuestParametersType_t(47);
500#[doc = "< Alias for cuestPCMIntegrationWeightComputeParameters_t"]
501pub const CUEST_PCMINTEGRATIONWEIGHTCOMPUTE_PARAMETERS: cuestParametersType_t =
502 cuestParametersType_t(48);
503#[doc = "< Alias for cuestDFMOIntegralsComputeParameters_t"]
504pub const CUEST_DFMOINTEGRALSCOMPUTE_PARAMETERS: cuestParametersType_t = cuestParametersType_t(49);
505#[doc = "< Alias for cuestXCNonsymmetricDensityComputeParameters_t"]
506pub const CUEST_XCNONSYMMETRICDENSITYCOMPUTE_PARAMETERS: cuestParametersType_t =
507 cuestParametersType_t(50);
508#[doc = "< Alias for cuestXCNonsymmetricDerivativeComputeParameters_t"]
509pub const CUEST_XCNONSYMMETRICDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
510 cuestParametersType_t(51);
511#[doc = "< Alias for cuestPCMRadiiDerivativeComputeParameters_t"]
512pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS: cuestParametersType_t =
513 cuestParametersType_t(52);
514#[repr(transparent)]
515#[doc = " @brief Provides unique identifiers for each of the opaque handles to parameter structures.\n @ingroup Enums\n"]
516#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
517pub struct cuestParametersType_t(pub ::core::ffi::c_uint);
518#[doc = "< CUDA stream handle. NULL value allocates a CUDA stream internally. \\b Default: NULL."]
519pub const CUEST_HANDLE_PARAMETERS_CUDASTREAM: cuestHandleParametersAttributes_t =
520 cuestHandleParametersAttributes_t(0);
521#[doc = "< cuBLAS handle. NULL value allocates a cuBLAS handle internally. \\b Default: NULL."]
522pub const CUEST_HANDLE_PARAMETERS_CUBLAS: cuestHandleParametersAttributes_t =
523 cuestHandleParametersAttributes_t(1);
524#[doc = "< cuSolver handle. NULL value allocates a cuSolver handle internally. \\b Default: NULL."]
525pub const CUEST_HANDLE_PARAMETERS_CUSOLVER: cuestHandleParametersAttributes_t =
526 cuestHandleParametersAttributes_t(2);
527#[doc = "< Maximum number of quadrature points. \\b Default: 20."]
528pub const CUEST_HANDLE_PARAMETERS_MAX_GAUSS_HERMITE: cuestHandleParametersAttributes_t =
529 cuestHandleParametersAttributes_t(3);
530#[doc = "< Highest angular momentum for solid harmonics. \\b Default: 10."]
531pub const CUEST_HANDLE_PARAMETERS_MAX_L_SOLID_HARMONIC: cuestHandleParametersAttributes_t =
532 cuestHandleParametersAttributes_t(4);
533#[doc = "< Maximum number of Rys points. (0 specifies the largest available). \\b Default: 0."]
534pub const CUEST_HANDLE_PARAMETERS_MAX_RYS: cuestHandleParametersAttributes_t =
535 cuestHandleParametersAttributes_t(5);
536#[doc = "< Specifies which scheme should be used to build the Rys quadrature table. \\b Default: CUEST_HANDLE_PARAMETERS_RYS_SCHEME_06_21_2025."]
537pub const CUEST_HANDLE_PARAMETERS_RYS_SCHEME: cuestHandleParametersAttributes_t =
538 cuestHandleParametersAttributes_t(6);
539#[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)."]
540pub const CUEST_HANDLE_PARAMETERS_JIT_CACHE_DIR: cuestHandleParametersAttributes_t =
541 cuestHandleParametersAttributes_t(7);
542#[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."]
543pub const CUEST_HANDLE_PARAMETERS_JIT_COMPILE_THREADS: cuestHandleParametersAttributes_t =
544 cuestHandleParametersAttributes_t(8);
545#[repr(transparent)]
546#[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"]
547#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
548pub struct cuestHandleParametersAttributes_t(pub ::core::ffi::c_uint);
549pub const CUEST_HANDLE_PARAMETERS_RYS_SCHEME_06_21_2025: cuestHandleParametersRysScheme_t =
550 cuestHandleParametersRysScheme_t(0);
551#[repr(transparent)]
552#[doc = " @brief Specifies which Rys quadrature scheme to use for table construction.\n @ingroup Enums"]
553#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
554pub struct cuestHandleParametersRysScheme_t(pub ::core::ffi::c_uint);
555#[doc = "< Default math mode. Math mode is heuristically chosen on a per-function basis for maximum efficiency."]
556pub const CUEST_DEFAULT_MATH_MODE: cuestMathMode_t = cuestMathMode_t(0);
557#[doc = "< Native FP64 compute is used everywhere."]
558pub const CUEST_NATIVE_FP64_MATH_MODE: cuestMathMode_t = cuestMathMode_t(1);
559#[repr(transparent)]
560#[doc = " @brief Specifies what math mode should be used.\n @ingroup Enums"]
561#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
562pub struct cuestMathMode_t(pub ::core::ffi::c_uint);
563#[doc = "< Specifies that JIT-compiled kernels should be used."]
564pub const CUEST_JIT_USAGE_MODE_ON: cuestJITUsageMode_t = cuestJITUsageMode_t(0);
565#[doc = "< Specifies the use of a code path with AOT-compiled kernels."]
566pub const CUEST_JIT_USAGE_MODE_OFF: cuestJITUsageMode_t = cuestJITUsageMode_t(1);
567#[repr(transparent)]
568#[doc = " @brief Specifies whether or not to use JIT-compiled kernels.\n @ingroup Enums\n\n Note: JIT requires CUDA 13.x or higher."]
569#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
570pub struct cuestJITUsageMode_t(pub ::core::ffi::c_uint);
571#[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."]
572pub const CUEST_FFLOAT_USAGE_MODE_DEFAULT: cuestFfloatUsageMode_t = cuestFfloatUsageMode_t(0);
573#[doc = "< Requests ffloat compute."]
574pub const CUEST_FFLOAT_USAGE_MODE_ON: cuestFfloatUsageMode_t = cuestFfloatUsageMode_t(1);
575#[doc = "< Requests fp64 compute."]
576pub const CUEST_FFLOAT_USAGE_MODE_OFF: cuestFfloatUsageMode_t = cuestFfloatUsageMode_t(2);
577#[repr(transparent)]
578#[doc = " @brief Specifies whether or not to use ffloat compute.\n @ingroup Enums"]
579#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
580pub struct cuestFfloatUsageMode_t(pub ::core::ffi::c_uint);
581#[doc = "< Reserved for future use."]
582pub const CUEST_AOSHELL_PARAMETERS_NONE: cuestAOShellParametersAttributes_t =
583 cuestAOShellParametersAttributes_t(0);
584#[repr(transparent)]
585#[doc = " @brief Properties supported for AO shell parameters.\n @ingroup Enums\n\n - \\c CUEST_AOSHELL_PARAMETERS_NONE : uint64_t"]
586#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
587pub struct cuestAOShellParametersAttributes_t(pub ::core::ffi::c_uint);
588#[doc = "< Reserved for future use."]
589pub const CUEST_AOBASIS_PARAMETERS_NONE: cuestAOBasisParametersAttributes_t =
590 cuestAOBasisParametersAttributes_t(0);
591#[repr(transparent)]
592#[doc = " @brief Properties supported for AO basis parameters.\n @ingroup Enums\n\n - \\c CUEST_AOBASIS_PARAMETERS_NONE : uint64_t"]
593#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
594pub struct cuestAOBasisParametersAttributes_t(pub ::core::ffi::c_uint);
595#[doc = "< Reserved for future use."]
596pub const CUEST_AOPAIRLIST_PARAMETERS_NONE: cuestAOPairListParametersAttributes_t =
597 cuestAOPairListParametersAttributes_t(0);
598#[repr(transparent)]
599#[doc = " @brief Properties supported for AO pair list parameters.\n @ingroup Enums\n\n - \\c CUEST_AOPAIRLIST_PARAMETERS_NONE : uint64_t"]
600#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
601pub struct cuestAOPairListParametersAttributes_t(pub ::core::ffi::c_uint);
602#[doc = "< Reserved for future use."]
603pub const CUEST_ECPSHELL_PARAMETERS_NONE: cuestECPShellParametersAttributes_t =
604 cuestECPShellParametersAttributes_t(0);
605#[repr(transparent)]
606#[doc = " @brief Properties supported for ECP shell parameters.\n @ingroup Enums\n\n - \\c CUEST_ECPSHELL_PARAMETERS_NONE : uint64_t"]
607#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
608pub struct cuestECPShellParametersAttributes_t(pub ::core::ffi::c_uint);
609#[doc = "< Reserved for future use."]
610pub const CUEST_ECPATOM_PARAMETERS_NONE: cuestECPAtomParametersAttributes_t =
611 cuestECPAtomParametersAttributes_t(0);
612#[repr(transparent)]
613#[doc = " @brief Properties supported for ECP Atom parameters.\n @ingroup Enums\n\n - \\c CUEST_ECPATOM_PARAMETERS_NONE : uint64_t"]
614#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
615pub struct cuestECPAtomParametersAttributes_t(pub ::core::ffi::c_uint);
616#[doc = "< Reserved for future use."]
617pub const CUEST_OEINTPLAN_PARAMETERS_NONE: cuestOEIntPlanParametersAttributes_t =
618 cuestOEIntPlanParametersAttributes_t(0);
619#[repr(transparent)]
620#[doc = " @brief Properties supported for one-electron integral plan parameters.\n @ingroup Enums\n\n - \\c CUEST_OEINTPLAN_PARAMETERS_NONE : uint64_t"]
621#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
622pub struct cuestOEIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
623#[doc = "< Grid collocation threshold. \\b Default: 1.0e-18."]
624pub const CUEST_ECPINTPLAN_PARAMETERS_THRESHOLD_COLLOCATION: cuestECPIntPlanParametersAttributes_t =
625 cuestECPIntPlanParametersAttributes_t(0);
626#[doc = "< Grid cutoff. \\b Default: 1.0e-14."]
627pub const CUEST_ECPINTPLAN_PARAMETERS_ECP_CUTOFF: cuestECPIntPlanParametersAttributes_t =
628 cuestECPIntPlanParametersAttributes_t(1);
629#[doc = "< Grid R0. \\b Default: 6.0."]
630pub const CUEST_ECPINTPLAN_PARAMETERS_R0: cuestECPIntPlanParametersAttributes_t =
631 cuestECPIntPlanParametersAttributes_t(2);
632#[doc = "< Grid multiplier. \\b Default: 1.1."]
633pub const CUEST_ECPINTPLAN_PARAMETERS_MULTIPLIER: cuestECPIntPlanParametersAttributes_t =
634 cuestECPIntPlanParametersAttributes_t(3);
635#[doc = "< Number radial grid points. \\b Default: 80."]
636pub const CUEST_ECPINTPLAN_PARAMETERS_RADIAL_NUM_POINT: cuestECPIntPlanParametersAttributes_t =
637 cuestECPIntPlanParametersAttributes_t(4);
638#[doc = "< Number spherical grid points. \\b Default: 302."]
639pub const CUEST_ECPINTPLAN_PARAMETERS_SPHERICAL_NUM_POINT: cuestECPIntPlanParametersAttributes_t =
640 cuestECPIntPlanParametersAttributes_t(5);
641#[repr(transparent)]
642#[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"]
643#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
644pub struct cuestECPIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
645#[doc = "< Reserved for future use."]
646pub const CUEST_ECPCOMPUTE_PARAMETERS_NONE: cuestECPComputeParametersAttributes_t =
647 cuestECPComputeParametersAttributes_t(0);
648#[repr(transparent)]
649#[doc = " @brief Properties supported for effective core potential (ECP) integral compute parameters.\n @ingroup Enums\n\n - \\c CUEST_ECPCOMPUTE_PARAMETERS_NONE : uint64_t"]
650#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
651pub struct cuestECPComputeParametersAttributes_t(pub ::core::ffi::c_uint);
652#[doc = "< Reserved for future use."]
653pub const CUEST_ECPDERIVATIVECOMPUTE_PARAMETERS_NONE:
654 cuestECPDerivativeComputeParametersAttributes_t =
655 cuestECPDerivativeComputeParametersAttributes_t(0);
656#[repr(transparent)]
657#[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"]
658#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
659pub struct cuestECPDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
660#[doc = "< Value below which metric eigenvalues are discarded during fitting. \\b Default: 1.0e-12."]
661pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_CUTOFF: cuestDFIntPlanParametersAttributes_t =
662 cuestDFIntPlanParametersAttributes_t(0);
663#[doc = "< Should the fitting cutoff be determined in a relative or absolute sense? 0 is absolute. non-zero is relative. \\b Default: 1."]
664pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_RELATIVE_CONDITIONING:
665 cuestDFIntPlanParametersAttributes_t = cuestDFIntPlanParametersAttributes_t(1);
666#[doc = "< Fraction of HF exchange: respected in DF exchange and DF derivative compute routines. \\b Default: 1.0."]
667pub const CUEST_DFINTPLAN_PARAMETERS_EXCHANGE_FRACTION: cuestDFIntPlanParametersAttributes_t =
668 cuestDFIntPlanParametersAttributes_t(2);
669#[doc = "< Algorithm to use when inverting the DF metric. \\b Default: CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM_QR."]
670pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM: cuestDFIntPlanParametersAttributes_t =
671 cuestDFIntPlanParametersAttributes_t(3);
672#[doc = "< Fraction of long-range exchange: respected in DF exchange and DF derivative compute routines. \\b Default: 0.0."]
673pub const CUEST_DFINTPLAN_PARAMETERS_LRC_EXCHANGE_FRACTION: cuestDFIntPlanParametersAttributes_t =
674 cuestDFIntPlanParametersAttributes_t(4);
675#[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."]
676pub const CUEST_DFINTPLAN_PARAMETERS_LRC_EXCHANGE_OMEGA: cuestDFIntPlanParametersAttributes_t =
677 cuestDFIntPlanParametersAttributes_t(5);
678#[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."]
679pub const CUEST_DFINTPLAN_PARAMETERS_THREE_INDEX_INTEGRAL_DIRECT:
680 cuestDFIntPlanParametersAttributes_t = cuestDFIntPlanParametersAttributes_t(6);
681#[repr(transparent)]
682#[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"]
683#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
684pub struct cuestDFIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
685#[doc = "< Use a QR-based metric inverse"]
686pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM_QR:
687 cuestDFIntPlanParametersFittingAlgorithm_t = cuestDFIntPlanParametersFittingAlgorithm_t(0);
688#[doc = "< Use a conditioned matrix power"]
689pub const CUEST_DFINTPLAN_PARAMETERS_FITTING_ALGORITHM_MATRIXPOWER:
690 cuestDFIntPlanParametersFittingAlgorithm_t = cuestDFIntPlanParametersFittingAlgorithm_t(1);
691#[repr(transparent)]
692#[doc = " @brief Specifies how the DF metric should be inverted\n @ingroup Enums"]
693#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
694pub struct cuestDFIntPlanParametersFittingAlgorithm_t(pub ::core::ffi::c_uint);
695#[doc = "< Reserved for future use."]
696pub const CUEST_ATOMGRID_PARAMETERS_NONE: cuestAtomGridParametersAttributes_t =
697 cuestAtomGridParametersAttributes_t(0);
698#[repr(transparent)]
699#[doc = " @brief Properties supported for atom grid parameters.\n @ingroup Enums\n\n - \\c CUEST_ATOMGRID_PARAMETERS_NONE : uint64_t"]
700#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
701pub struct cuestAtomGridParametersAttributes_t(pub ::core::ffi::c_uint);
702#[doc = "< Reserved for future use."]
703pub const CUEST_MOLECULARGRID_PARAMETERS_NONE: cuestMolecularGridParametersAttributes_t =
704 cuestMolecularGridParametersAttributes_t(0);
705#[repr(transparent)]
706#[doc = " @brief Properties supported for molecular grid parameters.\n @ingroup Enums\n\n - \\c CUEST_MOLECULARGRID_PARAMETERS_NONE : uint64_t"]
707#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
708pub struct cuestMolecularGridParametersAttributes_t(pub ::core::ffi::c_uint);
709#[doc = "< XC collocation threshold. \\b Default: 1.0e-18."]
710pub const CUEST_XCINTPLAN_PARAMETERS_THRESHOLD_COLLOCATION: cuestXCIntPlanParametersAttributes_t =
711 cuestXCIntPlanParametersAttributes_t(0);
712#[doc = "< Maximum derivative level supported. \\b Default: 1."]
713pub const CUEST_XCINTPLAN_PARAMETERS_DERIVATIVE_LEVEL: cuestXCIntPlanParametersAttributes_t =
714 cuestXCIntPlanParametersAttributes_t(1);
715#[doc = "< How many CPU threads to use when computing Vxc. \\b Default: 12."]
716pub const CUEST_XCINTPLAN_PARAMETERS_NUM_THREADS: cuestXCIntPlanParametersAttributes_t =
717 cuestXCIntPlanParametersAttributes_t(2);
718#[repr(transparent)]
719#[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"]
720#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
721pub struct cuestXCIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
722pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_HF: cuestXCIntPlanParametersFunctional_t =
723 cuestXCIntPlanParametersFunctional_t(0);
724pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_B3LYP1: cuestXCIntPlanParametersFunctional_t =
725 cuestXCIntPlanParametersFunctional_t(1);
726pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_B3LYP5: cuestXCIntPlanParametersFunctional_t =
727 cuestXCIntPlanParametersFunctional_t(2);
728pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_B97: cuestXCIntPlanParametersFunctional_t =
729 cuestXCIntPlanParametersFunctional_t(3);
730pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_BLYP: cuestXCIntPlanParametersFunctional_t =
731 cuestXCIntPlanParametersFunctional_t(4);
732pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_M06L: cuestXCIntPlanParametersFunctional_t =
733 cuestXCIntPlanParametersFunctional_t(5);
734pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_PBE: cuestXCIntPlanParametersFunctional_t =
735 cuestXCIntPlanParametersFunctional_t(6);
736pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_PBE0: cuestXCIntPlanParametersFunctional_t =
737 cuestXCIntPlanParametersFunctional_t(7);
738pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_R2SCAN: cuestXCIntPlanParametersFunctional_t =
739 cuestXCIntPlanParametersFunctional_t(8);
740pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_SVWN5: cuestXCIntPlanParametersFunctional_t =
741 cuestXCIntPlanParametersFunctional_t(9);
742pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_B97MV: cuestXCIntPlanParametersFunctional_t =
743 cuestXCIntPlanParametersFunctional_t(10);
744pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_LCWPBE: cuestXCIntPlanParametersFunctional_t =
745 cuestXCIntPlanParametersFunctional_t(11);
746pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_WB97X: cuestXCIntPlanParametersFunctional_t =
747 cuestXCIntPlanParametersFunctional_t(12);
748pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_WB97XV: cuestXCIntPlanParametersFunctional_t =
749 cuestXCIntPlanParametersFunctional_t(13);
750pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_WB97MV: cuestXCIntPlanParametersFunctional_t =
751 cuestXCIntPlanParametersFunctional_t(14);
752pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_LCWPBEH: cuestXCIntPlanParametersFunctional_t =
753 cuestXCIntPlanParametersFunctional_t(15);
754pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_CAMB3LYP: cuestXCIntPlanParametersFunctional_t =
755 cuestXCIntPlanParametersFunctional_t(16);
756pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_HSE06: cuestXCIntPlanParametersFunctional_t =
757 cuestXCIntPlanParametersFunctional_t(17);
758pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_M06: cuestXCIntPlanParametersFunctional_t =
759 cuestXCIntPlanParametersFunctional_t(18);
760pub const CUEST_XCINTPLAN_PARAMETERS_FUNCTIONAL_M062X: cuestXCIntPlanParametersFunctional_t =
761 cuestXCIntPlanParametersFunctional_t(19);
762#[repr(transparent)]
763#[doc = " @brief Specifies which XC functional should be used.\n @ingroup Enums"]
764#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
765pub struct cuestXCIntPlanParametersFunctional_t(pub ::core::ffi::c_uint);
766#[doc = "< Reserved for future use."]
767pub const CUEST_OVERLAPCOMPUTE_PARAMETERS_NONE: cuestOverlapComputeParametersAttributes_t =
768 cuestOverlapComputeParametersAttributes_t(0);
769#[repr(transparent)]
770#[doc = " @brief Properties supported for overlap compute parameters.\n @ingroup Enums\n\n - \\c CUEST_OVERLAPCOMPUTE_PARAMETERS_NONE : uint64_t"]
771#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
772pub struct cuestOverlapComputeParametersAttributes_t(pub ::core::ffi::c_uint);
773#[doc = "< Reserved for future use."]
774pub const CUEST_OVERLAPDERIVATIVECOMPUTE_PARAMETERS_NONE:
775 cuestOverlapDerivativeComputeParametersAttributes_t =
776 cuestOverlapDerivativeComputeParametersAttributes_t(0);
777#[repr(transparent)]
778#[doc = " @brief Properties supported for overlap derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_OVERLAPDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
779#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
780pub struct cuestOverlapDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
781#[doc = "< Reserved for future use."]
782pub const CUEST_KINETICCOMPUTE_PARAMETERS_NONE: cuestKineticComputeParametersAttributes_t =
783 cuestKineticComputeParametersAttributes_t(0);
784#[repr(transparent)]
785#[doc = " @brief Properties supported for kinetic compute parameters.\n @ingroup Enums\n\n - \\c CUEST_KINETICCOMPUTE_PARAMETERS_NONE : uint64_t"]
786#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
787pub struct cuestKineticComputeParametersAttributes_t(pub ::core::ffi::c_uint);
788#[doc = "< Reserved for future use."]
789pub const CUEST_KINETICDERIVATIVECOMPUTE_PARAMETERS_NONE:
790 cuestKineticDerivativeComputeParametersAttributes_t =
791 cuestKineticDerivativeComputeParametersAttributes_t(0);
792#[repr(transparent)]
793#[doc = " @brief Properties supported for kinetic derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_KINETICDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
794#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
795pub struct cuestKineticDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
796#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
797pub const CUEST_POTENTIALCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
798 cuestPotentialComputeParametersAttributes_t = cuestPotentialComputeParametersAttributes_t(0);
799#[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."]
800pub const CUEST_POTENTIALCOMPUTE_PARAMETERS_JIT_USAGE_MODE:
801 cuestPotentialComputeParametersAttributes_t = cuestPotentialComputeParametersAttributes_t(1);
802#[repr(transparent)]
803#[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)"]
804#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
805pub struct cuestPotentialComputeParametersAttributes_t(pub ::core::ffi::c_uint);
806#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_OFF."]
807pub const CUEST_POTENTIALDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
808 cuestPotentialDerivativeComputeParametersAttributes_t =
809 cuestPotentialDerivativeComputeParametersAttributes_t(0);
810#[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."]
811pub const CUEST_POTENTIALDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE:
812 cuestPotentialDerivativeComputeParametersAttributes_t =
813 cuestPotentialDerivativeComputeParametersAttributes_t(1);
814#[repr(transparent)]
815#[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)"]
816#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
817pub struct cuestPotentialDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
818#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
819pub const CUEST_DFCOULOMBCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
820 cuestDFCoulombComputeParametersAttributes_t = cuestDFCoulombComputeParametersAttributes_t(0);
821#[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."]
822pub const CUEST_DFCOULOMBCOMPUTE_PARAMETERS_JIT_USAGE_MODE:
823 cuestDFCoulombComputeParametersAttributes_t = cuestDFCoulombComputeParametersAttributes_t(1);
824#[repr(transparent)]
825#[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)"]
826#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
827pub struct cuestDFCoulombComputeParametersAttributes_t(pub ::core::ffi::c_uint);
828#[doc = "< Number of slices used in cuBLAS emulated GEMMs. Mantissa bit count = 8 * slices - 1. \\b Default: 5."]
829pub const CUEST_DFSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_SLICE_COUNT:
830 cuestDFSymmetricExchangeComputeParametersAttributes_t =
831 cuestDFSymmetricExchangeComputeParametersAttributes_t(0);
832#[doc = "< Number of moduli used in custom Ozaki-II emulated GEMMs. \\b Default: 8."]
833pub const CUEST_DFSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_MODULUS_COUNT:
834 cuestDFSymmetricExchangeComputeParametersAttributes_t =
835 cuestDFSymmetricExchangeComputeParametersAttributes_t(1);
836#[repr(transparent)]
837#[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"]
838#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
839pub struct cuestDFSymmetricExchangeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
840#[doc = "< Number of slices used in cuBLAS emulated GEMMs. Mantissa bit count = 8 * slices - 1. \\b Default: 5."]
841pub const CUEST_DFNONSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_SLICE_COUNT:
842 cuestDFNonsymmetricExchangeComputeParametersAttributes_t =
843 cuestDFNonsymmetricExchangeComputeParametersAttributes_t(0);
844#[doc = "< Number of moduli used in custom Ozaki-II emulated GEMMs. \\b Default: 8."]
845pub const CUEST_DFNONSYMMETRICEXCHANGECOMPUTE_PARAMETERS_INT8_MODULUS_COUNT:
846 cuestDFNonsymmetricExchangeComputeParametersAttributes_t =
847 cuestDFNonsymmetricExchangeComputeParametersAttributes_t(1);
848#[repr(transparent)]
849#[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"]
850#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
851pub struct cuestDFNonsymmetricExchangeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
852#[doc = "< Specifies how memory should be used during the derivative evaluation. \\b Default: CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_DEVICECACHE."]
853pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_MEMORY_POLICY:
854 cuestDFSymmetricDerivativeComputeParametersAttributes_t =
855 cuestDFSymmetricDerivativeComputeParametersAttributes_t(0);
856#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
857pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
858 cuestDFSymmetricDerivativeComputeParametersAttributes_t =
859 cuestDFSymmetricDerivativeComputeParametersAttributes_t(1);
860#[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."]
861pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE:
862 cuestDFSymmetricDerivativeComputeParametersAttributes_t =
863 cuestDFSymmetricDerivativeComputeParametersAttributes_t(2);
864#[repr(transparent)]
865#[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)"]
866#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
867pub struct cuestDFSymmetricDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
868#[doc = "< Cache certain intermediates on the GPU. This leaves the DFIntPlan unchanged."]
869pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_DEVICECACHE:
870 cuestDFSymmetricDerivativeComputeMemoryPolicy_t =
871 cuestDFSymmetricDerivativeComputeMemoryPolicy_t(0);
872#[doc = "< Cache certain intermediates on the CPU. This leaves the DFIntPlan unchanged."]
873pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_HOSTCACHE:
874 cuestDFSymmetricDerivativeComputeMemoryPolicy_t =
875 cuestDFSymmetricDerivativeComputeMemoryPolicy_t(1);
876#[doc = "< Overwrite DFIntPlan intermediates. This leaves the DFIntPlan in an unusable state."]
877pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_OVERWRITE:
878 cuestDFSymmetricDerivativeComputeMemoryPolicy_t =
879 cuestDFSymmetricDerivativeComputeMemoryPolicy_t(2);
880#[doc = "< Recompute DFIntPlan intermediates. This leaves the DFIntPlan in a usable state, but may not be bitwise identical."]
881pub const CUEST_DFSYMMETRICDERIVATIVECOMPUTE_MEMORY_POLICY_RECOMPUTE:
882 cuestDFSymmetricDerivativeComputeMemoryPolicy_t =
883 cuestDFSymmetricDerivativeComputeMemoryPolicy_t(3);
884#[repr(transparent)]
885#[doc = " @brief Specifies what memory policy should be used.\n @ingroup Enums"]
886#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
887pub struct cuestDFSymmetricDerivativeComputeMemoryPolicy_t(pub ::core::ffi::c_uint);
888#[doc = "< Reserved for future use."]
889pub const CUEST_XCPOTENTIALRKSCOMPUTE_PARAMETERS_NONE:
890 cuestXCPotentialRKSComputeParametersAttributes_t =
891 cuestXCPotentialRKSComputeParametersAttributes_t(0);
892#[repr(transparent)]
893#[doc = " @brief Properties supported for XC potential RKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCPOTENTIALRKSCOMPUTE_PARAMETERS_NONE : uint64_t"]
894#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
895pub struct cuestXCPotentialRKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
896#[doc = "< Reserved for future use."]
897pub const CUEST_XCPOTENTIALUKSCOMPUTE_PARAMETERS_NONE:
898 cuestXCPotentialUKSComputeParametersAttributes_t =
899 cuestXCPotentialUKSComputeParametersAttributes_t(0);
900#[repr(transparent)]
901#[doc = " @brief Properties supported for XC potential UKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCPOTENTIALUKSCOMPUTE_PARAMETERS_NONE : uint64_t"]
902#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
903pub struct cuestXCPotentialUKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
904#[doc = "< Reserved for future use."]
905pub const CUEST_XCDERIVATIVERKSCOMPUTE_PARAMETERS_NONE:
906 cuestXCDerivativeRKSComputeParametersAttributes_t =
907 cuestXCDerivativeRKSComputeParametersAttributes_t(0);
908#[repr(transparent)]
909#[doc = " @brief Properties supported for XC derivative RKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCDERIVATIVERKSCOMPUTE_PARAMETERS_NONE : uint64_t"]
910#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
911pub struct cuestXCDerivativeRKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
912#[doc = "< Reserved for future use."]
913pub const CUEST_XCDERIVATIVEUKSCOMPUTE_PARAMETERS_NONE:
914 cuestXCDerivativeUKSComputeParametersAttributes_t =
915 cuestXCDerivativeUKSComputeParametersAttributes_t(0);
916#[repr(transparent)]
917#[doc = " @brief Properties supported for XC derivative UKS compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCDERIVATIVEUKSCOMPUTE_PARAMETERS_NONE : uint64_t"]
918#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
919pub struct cuestXCDerivativeUKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
920#[doc = "< Global scaling for VV10 nonlocal correlation. \\b Default: 0.0."]
921pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_SCALE:
922 cuestNonlocalXCPotentialRKSComputeParametersAttributes_t =
923 cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(0);
924#[doc = "< VV10 C parameter. \\b Default: 0.0."]
925pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_C:
926 cuestNonlocalXCPotentialRKSComputeParametersAttributes_t =
927 cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(1);
928#[doc = "< VV10 b parameter. \\b Default: 0.0."]
929pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_VV10_B:
930 cuestNonlocalXCPotentialRKSComputeParametersAttributes_t =
931 cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(2);
932#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
933pub const CUEST_NONLOCALXCPOTENTIALRKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
934 cuestNonlocalXCPotentialRKSComputeParametersAttributes_t =
935 cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(3);
936#[repr(transparent)]
937#[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)"]
938#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
939pub struct cuestNonlocalXCPotentialRKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
940#[doc = "< Global scaling for VV10 nonlocal correlation. \\b Default: 0.0."]
941pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_SCALE:
942 cuestNonlocalXCPotentialUKSComputeParametersAttributes_t =
943 cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(0);
944#[doc = "< VV10 C parameter. \\b Default: 0.0."]
945pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_C:
946 cuestNonlocalXCPotentialUKSComputeParametersAttributes_t =
947 cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(1);
948#[doc = "< VV10 b parameter. \\b Default: 0.0."]
949pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_VV10_B:
950 cuestNonlocalXCPotentialUKSComputeParametersAttributes_t =
951 cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(2);
952#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
953pub const CUEST_NONLOCALXCPOTENTIALUKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
954 cuestNonlocalXCPotentialUKSComputeParametersAttributes_t =
955 cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(3);
956#[repr(transparent)]
957#[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)"]
958#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
959pub struct cuestNonlocalXCPotentialUKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
960#[doc = "< Global scaling for VV10 nonlocal correlation. \\b Default: 0.0."]
961pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_SCALE:
962 cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t =
963 cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(0);
964#[doc = "< VV10 C parameter. \\b Default: 0.0."]
965pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_C:
966 cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t =
967 cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(1);
968#[doc = "< VV10 b parameter. \\b Default: 0.0."]
969pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_VV10_B:
970 cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t =
971 cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(2);
972#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
973pub const CUEST_NONLOCALXCDERIVATIVERKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
974 cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t =
975 cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(3);
976#[repr(transparent)]
977#[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)"]
978#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
979pub struct cuestNonlocalXCDerivativeRKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
980#[doc = "< Global scaling for VV10 nonlocal correlation. \\b Default: 0.0."]
981pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_SCALE:
982 cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t =
983 cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(0);
984#[doc = "< VV10 C parameter. \\b Default: 0.0."]
985pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_C:
986 cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t =
987 cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(1);
988#[doc = "< VV10 b parameter. \\b Default: 0.0."]
989pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_VV10_B:
990 cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t =
991 cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(2);
992#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
993pub const CUEST_NONLOCALXCDERIVATIVEUKSCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
994 cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t =
995 cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(3);
996#[repr(transparent)]
997#[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)"]
998#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
999pub struct cuestNonlocalXCDerivativeUKSComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1000#[doc = "< Reserved for future use."]
1001pub const CUEST_XCDENSITYCOMPUTE_PARAMETERS_NONE: cuestXCDensityComputeParametersAttributes_t =
1002 cuestXCDensityComputeParametersAttributes_t(0);
1003#[repr(transparent)]
1004#[doc = " @brief Properties supported for XC density compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCDENSITYCOMPUTE_PARAMETERS_NONE : uint64_t"]
1005#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1006pub struct cuestXCDensityComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1007#[doc = "< Reserved for future use."]
1008pub const CUEST_XCPOTENTIALCOMPUTE_PARAMETERS_NONE: cuestXCPotentialComputeParametersAttributes_t =
1009 cuestXCPotentialComputeParametersAttributes_t(0);
1010#[repr(transparent)]
1011#[doc = " @brief Properties supported for XC potential compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCPOTENTIALCOMPUTE_PARAMETERS_NONE : uint64_t"]
1012#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1013pub struct cuestXCPotentialComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1014#[doc = "< Reserved for future use."]
1015pub const CUEST_XCDERIVATIVECOMPUTE_PARAMETERS_NONE:
1016 cuestXCDerivativeComputeParametersAttributes_t =
1017 cuestXCDerivativeComputeParametersAttributes_t(0);
1018#[repr(transparent)]
1019#[doc = " @brief Properties supported for XC derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
1020#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1021pub struct cuestXCDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1022#[doc = "< Reserved for future use."]
1023pub const CUEST_XCNONSYMMETRICDENSITYCOMPUTE_PARAMETERS_NONE:
1024 cuestXCNonsymmetricDensityComputeParametersAttributes_t =
1025 cuestXCNonsymmetricDensityComputeParametersAttributes_t(0);
1026#[repr(transparent)]
1027#[doc = " @brief Properties supported for XC nonsymmetric density compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCNONSYMMETRICDENSITYCOMPUTE_PARAMETERS_NONE : uint64_t"]
1028#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1029pub struct cuestXCNonsymmetricDensityComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1030#[doc = "< Reserved for future use."]
1031pub const CUEST_XCNONSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_NONE:
1032 cuestXCNonsymmetricDerivativeComputeParametersAttributes_t =
1033 cuestXCNonsymmetricDerivativeComputeParametersAttributes_t(0);
1034#[repr(transparent)]
1035#[doc = " @brief Properties supported for XC nonsymmetric derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCNONSYMMETRICDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
1036#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1037pub struct cuestXCNonsymmetricDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1038#[doc = "< Reserved for future use."]
1039pub const CUEST_XCGRIDDERIVATIVECOMPUTE_PARAMETERS_NONE:
1040 cuestXCGridDerivativeComputeParametersAttributes_t =
1041 cuestXCGridDerivativeComputeParametersAttributes_t(0);
1042#[repr(transparent)]
1043#[doc = " @brief Properties supported for XC grid derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCGRIDDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
1044#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1045pub struct cuestXCGridDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1046#[doc = "< Reserved for future use."]
1047pub const CUEST_XCINTEGRATIONGRIDCOMPUTE_PARAMETERS_NONE:
1048 cuestXCIntegrationGridComputeParametersAttributes_t =
1049 cuestXCIntegrationGridComputeParametersAttributes_t(0);
1050#[repr(transparent)]
1051#[doc = " @brief Properties supported for XC integration grid compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCINTEGRATIONGRIDCOMPUTE_PARAMETERS_NONE : uint64_t"]
1052#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1053pub struct cuestXCIntegrationGridComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1054#[doc = "< Reserved for future use."]
1055pub const CUEST_XCINTEGRATIONWEIGHTCOMPUTE_PARAMETERS_NONE:
1056 cuestXCIntegrationWeightComputeParametersAttributes_t =
1057 cuestXCIntegrationWeightComputeParametersAttributes_t(0);
1058#[repr(transparent)]
1059#[doc = " @brief Properties supported for XC integration weight compute parameters.\n @ingroup Enums\n\n - \\c CUEST_XCINTEGRATIONWEIGHTCOMPUTE_PARAMETERS_NONE : uint64_t"]
1060#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1061pub struct cuestXCIntegrationWeightComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1062#[doc = "< The total integration weight. Angular x radial x Becke"]
1063pub const CUEST_XCINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_TOTAL:
1064 cuestXCIntegrationWeightComputeParametersWeightType_t =
1065 cuestXCIntegrationWeightComputeParametersWeightType_t(0);
1066#[doc = "< The Becke integration weight."]
1067pub const CUEST_XCINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_BECKE:
1068 cuestXCIntegrationWeightComputeParametersWeightType_t =
1069 cuestXCIntegrationWeightComputeParametersWeightType_t(1);
1070#[doc = "< The integration weights from angular and radial quadratures."]
1071pub const CUEST_XCINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_QUADRATURE:
1072 cuestXCIntegrationWeightComputeParametersWeightType_t =
1073 cuestXCIntegrationWeightComputeParametersWeightType_t(2);
1074#[repr(transparent)]
1075#[doc = " @brief Specifies which XC integration weights to compute.\n @ingroup Enums"]
1076#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1077pub struct cuestXCIntegrationWeightComputeParametersWeightType_t(pub ::core::ffi::c_uint);
1078#[doc = "< LDA approximation: depends only on the density."]
1079pub const CUEST_XCADVANCED_PARAMETERS_APPROXIMATION_LDA:
1080 cuestXCAdvancedComputeParametersApproximation_t =
1081 cuestXCAdvancedComputeParametersApproximation_t(0);
1082#[doc = "< GGA approximation: depends on the density and derivatives of the density."]
1083pub const CUEST_XCADVANCED_PARAMETERS_APPROXIMATION_GGA:
1084 cuestXCAdvancedComputeParametersApproximation_t =
1085 cuestXCAdvancedComputeParametersApproximation_t(1);
1086#[doc = "< meta-GGA approximation: depends on the density, derivatives of the density, and tau."]
1087pub const CUEST_XCADVANCED_PARAMETERS_APPROXIMATION_METAGGA:
1088 cuestXCAdvancedComputeParametersApproximation_t =
1089 cuestXCAdvancedComputeParametersApproximation_t(2);
1090#[repr(transparent)]
1091#[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"]
1092#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1093pub struct cuestXCAdvancedComputeParametersApproximation_t(pub ::core::ffi::c_uint);
1094#[doc = "< Cutoff for surface points' iSWIG switching function, below which the point is considered inactive. \\b Default: 1e-12."]
1095pub const CUEST_PCMINTPLAN_PARAMETERS_CUTOFF: cuestPCMIntPlanParametersAttributes_t =
1096 cuestPCMIntPlanParametersAttributes_t(0);
1097#[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."]
1098pub const CUEST_PCMINTPLAN_PARAMETERS_X_PREFACTOR: cuestPCMIntPlanParametersAttributes_t =
1099 cuestPCMIntPlanParametersAttributes_t(1);
1100#[repr(transparent)]
1101#[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"]
1102#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1103pub struct cuestPCMIntPlanParametersAttributes_t(pub ::core::ffi::c_uint);
1104#[doc = "< Convergence threshold (max absolute residual value) for PCM charges computation. \\b Default: 1e-10."]
1105pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD:
1106 cuestPCMPotentialComputeParametersAttributes_t =
1107 cuestPCMPotentialComputeParametersAttributes_t(0);
1108#[doc = "< Maximum number of preconditioned conjugate gradient iterations for PCM charges computation. \\b Default: 200."]
1109pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_MAX_ITERATIONS:
1110 cuestPCMPotentialComputeParametersAttributes_t =
1111 cuestPCMPotentialComputeParametersAttributes_t(1);
1112#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
1113pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
1114 cuestPCMPotentialComputeParametersAttributes_t =
1115 cuestPCMPotentialComputeParametersAttributes_t(2);
1116#[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."]
1117pub const CUEST_PCMPOTENTIALCOMPUTE_PARAMETERS_JIT_USAGE_MODE:
1118 cuestPCMPotentialComputeParametersAttributes_t =
1119 cuestPCMPotentialComputeParametersAttributes_t(3);
1120#[repr(transparent)]
1121#[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)"]
1122#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1123pub struct cuestPCMPotentialComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1124#[doc = "< Convergence threshold (max absolute residual value) for PCM charges computation. \\b Default: 1e-10."]
1125pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD:
1126 cuestPCMDerivativeComputeParametersAttributes_t =
1127 cuestPCMDerivativeComputeParametersAttributes_t(0);
1128#[doc = "< Maximum number of preconditioned conjugate gradient iterations for PCM charges computation. \\b Default: 200."]
1129pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_MAX_ITERATIONS:
1130 cuestPCMDerivativeComputeParametersAttributes_t =
1131 cuestPCMDerivativeComputeParametersAttributes_t(1);
1132#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
1133pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
1134 cuestPCMDerivativeComputeParametersAttributes_t =
1135 cuestPCMDerivativeComputeParametersAttributes_t(2);
1136#[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."]
1137pub const CUEST_PCMDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE:
1138 cuestPCMDerivativeComputeParametersAttributes_t =
1139 cuestPCMDerivativeComputeParametersAttributes_t(3);
1140#[repr(transparent)]
1141#[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)"]
1142#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1143pub struct cuestPCMDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1144#[doc = "< Convergence threshold (max absolute residual value) for PCM charges computation. \\b Default: 1e-10."]
1145pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_CONVERGENCE_THRESHOLD:
1146 cuestPCMRadiiDerivativeComputeParametersAttributes_t =
1147 cuestPCMRadiiDerivativeComputeParametersAttributes_t(0);
1148#[doc = "< Maximum number of preconditioned conjugate gradient iterations for PCM charges computation. \\b Default: 200."]
1149pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_MAX_ITERATIONS:
1150 cuestPCMRadiiDerivativeComputeParametersAttributes_t =
1151 cuestPCMRadiiDerivativeComputeParametersAttributes_t(1);
1152#[doc = "< Parameter to control the use of ffloat compute. \\b Default: CUEST_FFLOAT_USAGE_MODE_DEFAULT."]
1153pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_FFLOAT_USAGE_MODE:
1154 cuestPCMRadiiDerivativeComputeParametersAttributes_t =
1155 cuestPCMRadiiDerivativeComputeParametersAttributes_t(2);
1156#[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."]
1157pub const CUEST_PCMRADIIDERIVATIVECOMPUTE_PARAMETERS_JIT_USAGE_MODE:
1158 cuestPCMRadiiDerivativeComputeParametersAttributes_t =
1159 cuestPCMRadiiDerivativeComputeParametersAttributes_t(3);
1160#[repr(transparent)]
1161#[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)"]
1162#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1163pub struct cuestPCMRadiiDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1164#[doc = "< Reserved for future use."]
1165pub const CUEST_MULTIPOLECOMPUTE_PARAMETERS_NONE: cuestMultipoleComputeParametersAttributes_t =
1166 cuestMultipoleComputeParametersAttributes_t(0);
1167#[repr(transparent)]
1168#[doc = " @brief Properties supported for multipole compute parameters.\n @ingroup Enums\n\n - \\c CUEST_MULTIPOLECOMPUTE_PARAMETERS_NONE : uint64_t"]
1169#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1170pub struct cuestMultipoleComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1171#[doc = "< Reserved for future use."]
1172pub const CUEST_MULTIPOLEDERIVATIVECOMPUTE_PARAMETERS_NONE:
1173 cuestMultipoleDerivativeComputeParametersAttributes_t =
1174 cuestMultipoleDerivativeComputeParametersAttributes_t(0);
1175#[repr(transparent)]
1176#[doc = " @brief Properties supported for multipole derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_MULTIPOLEDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
1177#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1178pub struct cuestMultipoleDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1179#[doc = "< Reserved for future use."]
1180pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_NONE:
1181 cuestAngularMomentumComputeParametersAttributes_t =
1182 cuestAngularMomentumComputeParametersAttributes_t(0);
1183#[repr(transparent)]
1184#[doc = " @brief Properties supported for angular momentum compute parameters.\n @ingroup Enums\n\n - \\c CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_NONE : uint64_t"]
1185#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1186pub struct cuestAngularMomentumComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1187#[doc = "< Reserved for future use."]
1188pub const CUEST_ANGULARMOMENTUMDERIVATIVECOMPUTE_PARAMETERS_NONE:
1189 cuestAngularMomentumDerivativeComputeParametersAttributes_t =
1190 cuestAngularMomentumDerivativeComputeParametersAttributes_t(0);
1191#[repr(transparent)]
1192#[doc = " @brief Properties supported for angular momentum derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_ANGULARMOMENTUMDERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
1193#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1194pub struct cuestAngularMomentumDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1195#[doc = "< L_x = y d/dz - z d/dy"]
1196pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_COMPONENT_LX:
1197 cuestAngularMomentumComputeParametersComponent_t =
1198 cuestAngularMomentumComputeParametersComponent_t(0);
1199#[doc = "< L_y = z d/dx - x d/dz"]
1200pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_COMPONENT_LY:
1201 cuestAngularMomentumComputeParametersComponent_t =
1202 cuestAngularMomentumComputeParametersComponent_t(1);
1203#[doc = "< L_z = x d/dy - y d/dx"]
1204pub const CUEST_ANGULARMOMENTUMCOMPUTE_PARAMETERS_COMPONENT_LZ:
1205 cuestAngularMomentumComputeParametersComponent_t =
1206 cuestAngularMomentumComputeParametersComponent_t(2);
1207#[repr(transparent)]
1208#[doc = " @brief Specifies what angular momentum operator to evaluate\n @ingroup Enums\n"]
1209#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1210pub struct cuestAngularMomentumComputeParametersComponent_t(pub ::core::ffi::c_uint);
1211#[doc = "< Reserved for future use."]
1212pub const CUEST_NABLACOMPUTE_PARAMETERS_NONE: cuestNablaComputeParametersAttributes_t =
1213 cuestNablaComputeParametersAttributes_t(0);
1214#[repr(transparent)]
1215#[doc = " @brief Properties supported for nabla compute parameters.\n @ingroup Enums\n\n - \\c CUEST_NABLACOMPUTE_PARAMETERS_NONE : uint64_t"]
1216#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1217pub struct cuestNablaComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1218#[doc = "< Reserved for future use."]
1219pub const CUEST_NABLADERIVATIVECOMPUTE_PARAMETERS_NONE:
1220 cuestNablaDerivativeComputeParametersAttributes_t =
1221 cuestNablaDerivativeComputeParametersAttributes_t(0);
1222#[repr(transparent)]
1223#[doc = " @brief Properties supported for nabla derivative compute parameters.\n @ingroup Enums\n\n - \\c CUEST_NABLADERIVATIVECOMPUTE_PARAMETERS_NONE : uint64_t"]
1224#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1225pub struct cuestNablaDerivativeComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1226#[doc = "< \\nabla_x"]
1227pub const CUEST_NABLACOMPUTE_PARAMETERS_COMPONENT_X: cuestNablaComputeParametersComponent_t =
1228 cuestNablaComputeParametersComponent_t(0);
1229#[doc = "< \\nabla_y"]
1230pub const CUEST_NABLACOMPUTE_PARAMETERS_COMPONENT_Y: cuestNablaComputeParametersComponent_t =
1231 cuestNablaComputeParametersComponent_t(1);
1232#[doc = "< \\nabla_z"]
1233pub const CUEST_NABLACOMPUTE_PARAMETERS_COMPONENT_Z: cuestNablaComputeParametersComponent_t =
1234 cuestNablaComputeParametersComponent_t(2);
1235#[repr(transparent)]
1236#[doc = " @brief Specifies what nabla operator to evaluate\n @ingroup Enums\n"]
1237#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1238pub struct cuestNablaComputeParametersComponent_t(pub ::core::ffi::c_uint);
1239#[doc = "< Reserved for future use."]
1240pub const CUEST_PCMINTEGRATIONGRIDCOMPUTE_PARAMETERS_NONE:
1241 cuestPCMIntegrationGridComputeParametersAttributes_t =
1242 cuestPCMIntegrationGridComputeParametersAttributes_t(0);
1243#[repr(transparent)]
1244#[doc = " @brief Properties supported for PCM integration grid compute parameters.\n @ingroup Enums\n\n - \\c CUEST_PCMINTEGRATIONGRIDCOMPUTE_PARAMETERS_NONE : uint64_t"]
1245#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1246pub struct cuestPCMIntegrationGridComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1247#[doc = "< Reserved for future use."]
1248pub const CUEST_PCMINTEGRATIONWEIGHTCOMPUTE_PARAMETERS_NONE:
1249 cuestPCMIntegrationWeightComputeParametersAttributes_t =
1250 cuestPCMIntegrationWeightComputeParametersAttributes_t(0);
1251#[repr(transparent)]
1252#[doc = " @brief Properties supported for PCM integration weight compute parameters.\n @ingroup Enums\n\n - \\c CUEST_PCMINTEGRATIONWEIGHTCOMPUTE_PARAMETERS_NONE : uint64_t"]
1253#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1254pub struct cuestPCMIntegrationWeightComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1255#[doc = "< The value of the iSWIG switching function."]
1256pub const CUEST_PCMINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_SWITCHING:
1257 cuestPCMIntegrationWeightComputeParametersWeightType_t =
1258 cuestPCMIntegrationWeightComputeParametersWeightType_t(0);
1259#[doc = "< The value of zeta."]
1260pub const CUEST_PCMINTEGRATIONWEIGHT_PARAMETERS_WEIGHTTYPE_ZETA:
1261 cuestPCMIntegrationWeightComputeParametersWeightType_t =
1262 cuestPCMIntegrationWeightComputeParametersWeightType_t(1);
1263#[repr(transparent)]
1264#[doc = " @brief Specifies which PCM integration weights to compute.\n @ingroup Enums"]
1265#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1266pub struct cuestPCMIntegrationWeightComputeParametersWeightType_t(pub ::core::ffi::c_uint);
1267#[doc = "< Reserved for future use."]
1268pub const CUEST_DFMOINTEGRALSCOMPUTE_PARAMETERS_NONE:
1269 cuestDFMOIntegralsComputeParametersAttributes_t =
1270 cuestDFMOIntegralsComputeParametersAttributes_t(0);
1271#[repr(transparent)]
1272#[doc = " @brief Properties supported for DF MO integral compute parameters.\n @ingroup Enums\n\n - \\c CUEST_DFMOINTEGRALSCOMPUTE_PARAMETERS_NONE : uint64_t"]
1273#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1274pub struct cuestDFMOIntegralsComputeParametersAttributes_t(pub ::core::ffi::c_uint);
1275#[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."]
1276#[repr(C)]
1277#[derive(Debug, Copy, Clone)]
1278pub struct cuestWorkspace_t {
1279 #[doc = "< Opaque pointer to host-side workspace buffer (cast to \\c uintptr_t for opaque handling)"]
1280 pub hostBuffer: usize,
1281 #[doc = "< Size of host workspace in bytes"]
1282 pub hostBufferSizeInBytes: usize,
1283 #[doc = "< Opaque pointer to device-side (GPU) workspace buffer (cast to \\c uintptr_t for opaque handling)"]
1284 pub deviceBuffer: usize,
1285 #[doc = "< Size of device workspace in bytes"]
1286 pub deviceBufferSizeInBytes: usize,
1287}
1288#[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."]
1289#[repr(C)]
1290#[derive(Debug, Copy, Clone)]
1291pub struct cuestWorkspaceDescriptor_t {
1292 #[doc = "< Required size of host workspace buffer in bytes"]
1293 pub hostBufferSizeInBytes: usize,
1294 #[doc = "< Required size of device workspace buffer in bytes"]
1295 pub deviceBufferSizeInBytes: usize,
1296}
1297#[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"]
1298pub type cuestPCMResults_t = *mut ::core::ffi::c_void;
1299#[doc = "< Alias for cuestPCMResults_t"]
1300pub const CUEST_PCM_RESULTS: cuestResultsType_t = cuestResultsType_t(0);
1301#[repr(transparent)]
1302#[doc = " @brief Provides unique identifiers for each of the opaque handles to result structures.\n @ingroup Enums\n"]
1303#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1304pub struct cuestResultsType_t(pub ::core::ffi::c_uint);
1305#[doc = "< PCM dielectric energy"]
1306pub const CUEST_PCMRESULT_PCM_DIELECTRIC_ENERGY: cuestPCMResultAttributes_t =
1307 cuestPCMResultAttributes_t(0);
1308#[doc = "< Maximum absolute value of the residual at the last iteration"]
1309pub const CUEST_PCMRESULT_CONVERGED_RESIDUAL: cuestPCMResultAttributes_t =
1310 cuestPCMResultAttributes_t(1);
1311#[doc = "< Number of iterations taken to converge to the converged residual"]
1312pub const CUEST_PCMRESULT_NUM_ITERATIONS_TAKEN: cuestPCMResultAttributes_t =
1313 cuestPCMResultAttributes_t(2);
1314#[doc = "< Whether the PCM charges converged"]
1315pub const CUEST_PCMRESULT_CONVERGED: cuestPCMResultAttributes_t = cuestPCMResultAttributes_t(3);
1316#[repr(transparent)]
1317#[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"]
1318#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1319pub struct cuestPCMResultAttributes_t(pub ::core::ffi::c_uint);