1use super::*;
10use core::ffi::{c_int, c_void};
11
12pub struct DyLoadLib {
13 pub __libraries: Vec<libloading::Library>,
14 pub __libraries_path: Vec<String>,
15 pub __error: Option<String>,
16 pub cuestCreate: Option<
17 unsafe extern "C" fn(
18 parameters: cuestHandleParameters_t,
19 handle: *mut cuestHandle_t,
20 ) -> cuestStatus_t,
21 >,
22 pub cuestDestroy: Option<unsafe extern "C" fn(handle: cuestHandle_t) -> cuestStatus_t>,
23 pub cuestSetMathMode:
24 Option<unsafe extern "C" fn(handle: cuestHandle_t, mode: cuestMathMode_t) -> cuestStatus_t>,
25 pub cuestGetMathMode: Option<
26 unsafe extern "C" fn(handle: cuestHandle_t, mode: *mut cuestMathMode_t) -> cuestStatus_t,
27 >,
28 pub cuestSetComputeCapabilityTarget: Option<
29 unsafe extern "C" fn(
30 handle: cuestHandle_t,
31 targetMajorVersion: u32,
32 targetMinorVersion: u32,
33 ) -> cuestStatus_t,
34 >,
35 pub cuestGetComputeCapabilityTarget: Option<
36 unsafe extern "C" fn(
37 handle: cuestHandle_t,
38 targetMajorVersion: *mut u32,
39 targetMinorVersion: *mut u32,
40 ) -> cuestStatus_t,
41 >,
42 pub cuestGetMajorVersion: Option<
43 unsafe extern "C" fn(handle: cuestHandle_t, majorVersion: *mut u32) -> cuestStatus_t,
44 >,
45 pub cuestGetMinorVersion: Option<
46 unsafe extern "C" fn(handle: cuestHandle_t, minorVersion: *mut u32) -> cuestStatus_t,
47 >,
48 pub cuestGetPatchVersion: Option<
49 unsafe extern "C" fn(handle: cuestHandle_t, patchVersion: *mut u32) -> cuestStatus_t,
50 >,
51 pub cuestAOShellCreate: Option<
52 unsafe extern "C" fn(
53 handle: cuestHandle_t,
54 isPure: i32,
55 L: u64,
56 numPrimitive: u64,
57 exponents: *const f64,
58 coefficients: *const f64,
59 parameters: cuestAOShellParameters_t,
60 outShell: *mut cuestAOShell_t,
61 ) -> cuestStatus_t,
62 >,
63 pub cuestAOShellDestroy: Option<unsafe extern "C" fn(shell: cuestAOShell_t) -> cuestStatus_t>,
64 pub cuestAOBasisCreate: Option<
65 unsafe extern "C" fn(
66 handle: cuestHandle_t,
67 numAtoms: u64,
68 numShellsPerAtom: *const u64,
69 shells: *const cuestAOShell_t,
70 parameters: cuestAOBasisParameters_t,
71 persistentWorkspace: *mut cuestWorkspace_t,
72 temporaryWorkspace: *mut cuestWorkspace_t,
73 outBasis: *mut cuestAOBasis_t,
74 ) -> cuestStatus_t,
75 >,
76 pub cuestAOBasisCreateWorkspaceQuery: Option<
77 unsafe extern "C" fn(
78 handle: cuestHandle_t,
79 numAtoms: u64,
80 numShellsPerAtom: *const u64,
81 shells: *const cuestAOShell_t,
82 parameters: cuestAOBasisParameters_t,
83 persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
84 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
85 outBasis: *mut cuestAOBasis_t,
86 ) -> cuestStatus_t,
87 >,
88 pub cuestAOBasisDestroy: Option<unsafe extern "C" fn(basis: cuestAOBasis_t) -> cuestStatus_t>,
89 pub cuestAOPairListCreate: Option<
90 unsafe extern "C" fn(
91 handle: cuestHandle_t,
92 basis: cuestAOBasis_t,
93 numAtoms: u64,
94 xyz: *const f64,
95 thresholdPQ: f64,
96 parameters: cuestAOPairListParameters_t,
97 persistentWorkspace: *mut cuestWorkspace_t,
98 temporaryWorkspace: *mut cuestWorkspace_t,
99 outPairList: *mut cuestAOPairList_t,
100 ) -> cuestStatus_t,
101 >,
102 pub cuestAOPairListCreateWorkspaceQuery: Option<
103 unsafe extern "C" fn(
104 handle: cuestHandle_t,
105 basis: cuestAOBasis_t,
106 numAtoms: u64,
107 xyz: *const f64,
108 thresholdPQ: f64,
109 parameters: cuestAOPairListParameters_t,
110 persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
111 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
112 outPairList: *mut cuestAOPairList_t,
113 ) -> cuestStatus_t,
114 >,
115 pub cuestAOPairListDestroy:
116 Option<unsafe extern "C" fn(pairList: cuestAOPairList_t) -> cuestStatus_t>,
117 pub cuestECPCompute: Option<
118 unsafe extern "C" fn(
119 handle: cuestHandle_t,
120 plan: cuestECPIntPlan_t,
121 parameters: cuestECPComputeParameters_t,
122 variableBufferSize: *const cuestWorkspaceDescriptor_t,
123 temporaryWorkspace: *mut cuestWorkspace_t,
124 outECPMatrix: *mut f64,
125 ) -> cuestStatus_t,
126 >,
127 pub cuestECPComputeWorkspaceQuery: Option<
128 unsafe extern "C" fn(
129 handle: cuestHandle_t,
130 plan: cuestECPIntPlan_t,
131 parameters: cuestECPComputeParameters_t,
132 variableBufferSize: *const cuestWorkspaceDescriptor_t,
133 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
134 outECPMatrix: *mut f64,
135 ) -> cuestStatus_t,
136 >,
137 pub cuestECPDerivativeCompute: Option<
138 unsafe extern "C" fn(
139 handle: cuestHandle_t,
140 plan: cuestECPIntPlan_t,
141 parameters: cuestECPDerivativeComputeParameters_t,
142 variableBufferSize: *const cuestWorkspaceDescriptor_t,
143 temporaryWorkspace: *mut cuestWorkspace_t,
144 densityMatrix: *const f64,
145 outGradient: *mut f64,
146 ) -> cuestStatus_t,
147 >,
148 pub cuestECPDerivativeComputeWorkspaceQuery: Option<
149 unsafe extern "C" fn(
150 handle: cuestHandle_t,
151 plan: cuestECPIntPlan_t,
152 parameters: cuestECPDerivativeComputeParameters_t,
153 variableBufferSize: *const cuestWorkspaceDescriptor_t,
154 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
155 densityMatrix: *const f64,
156 outGradient: *mut f64,
157 ) -> cuestStatus_t,
158 >,
159 pub cuestECPAtomCreate: Option<
160 unsafe extern "C" fn(
161 handle: cuestHandle_t,
162 numElectrons: u64,
163 numShells: u64,
164 shells: *const cuestECPShell_t,
165 topShell: cuestECPShell_t,
166 parameters: cuestECPAtomParameters_t,
167 outECPAtom: *mut cuestECPAtom_t,
168 ) -> cuestStatus_t,
169 >,
170 pub cuestECPAtomDestroy: Option<unsafe extern "C" fn(atom: cuestECPAtom_t) -> cuestStatus_t>,
171 pub cuestECPShellCreate: Option<
172 unsafe extern "C" fn(
173 handle: cuestHandle_t,
174 L: u64,
175 numPrimitive: u64,
176 radialPowers: *const u64,
177 coefficients: *const f64,
178 exponents: *const f64,
179 parameters: cuestECPShellParameters_t,
180 outECPShell: *mut cuestECPShell_t,
181 ) -> cuestStatus_t,
182 >,
183 pub cuestECPShellDestroy: Option<unsafe extern "C" fn(shell: cuestECPShell_t) -> cuestStatus_t>,
184 pub cuestECPIntPlanCreate: Option<
185 unsafe extern "C" fn(
186 handle: cuestHandle_t,
187 basis: cuestAOBasis_t,
188 xyzCPU: *const f64,
189 numECPAtoms: u64,
190 activeIndices: *const u64,
191 activeAtoms: *const cuestECPAtom_t,
192 parameters: cuestECPIntPlanParameters_t,
193 persistentWorkspace: *mut cuestWorkspace_t,
194 temporaryWorkspace: *mut cuestWorkspace_t,
195 outPlan: *mut cuestECPIntPlan_t,
196 ) -> cuestStatus_t,
197 >,
198 pub cuestECPIntPlanCreateWorkspaceQuery: Option<
199 unsafe extern "C" fn(
200 handle: cuestHandle_t,
201 basis: cuestAOBasis_t,
202 xyzCPU: *const f64,
203 numECPAtoms: u64,
204 activeIndices: *const u64,
205 activeAtoms: *const cuestECPAtom_t,
206 parameters: cuestECPIntPlanParameters_t,
207 persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
208 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
209 outPlan: *mut cuestECPIntPlan_t,
210 ) -> cuestStatus_t,
211 >,
212 pub cuestECPIntPlanDestroy:
213 Option<unsafe extern "C" fn(plan: cuestECPIntPlan_t) -> cuestStatus_t>,
214 pub cuestOEIntPlanCreate: Option<
215 unsafe extern "C" fn(
216 handle: cuestHandle_t,
217 basis: cuestAOBasis_t,
218 pairList: cuestAOPairList_t,
219 parameters: cuestOEIntPlanParameters_t,
220 persistentWorkspace: *mut cuestWorkspace_t,
221 temporaryWorkspace: *mut cuestWorkspace_t,
222 outPlan: *mut cuestOEIntPlan_t,
223 ) -> cuestStatus_t,
224 >,
225 pub cuestOEIntPlanCreateWorkspaceQuery: Option<
226 unsafe extern "C" fn(
227 handle: cuestHandle_t,
228 basis: cuestAOBasis_t,
229 pairList: cuestAOPairList_t,
230 parameters: cuestOEIntPlanParameters_t,
231 persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
232 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
233 outPlan: *mut cuestOEIntPlan_t,
234 ) -> cuestStatus_t,
235 >,
236 pub cuestOEIntPlanDestroy:
237 Option<unsafe extern "C" fn(plan: cuestOEIntPlan_t) -> cuestStatus_t>,
238 pub cuestDFIntPlanCreate: Option<
239 unsafe extern "C" fn(
240 handle: cuestHandle_t,
241 primaryBasis: cuestAOBasis_t,
242 auxiliaryBasis: cuestAOBasis_t,
243 pairList: cuestAOPairList_t,
244 parameters: cuestDFIntPlanParameters_t,
245 persistentWorkspace: *mut cuestWorkspace_t,
246 temporaryWorkspace: *mut cuestWorkspace_t,
247 outPlan: *mut cuestDFIntPlan_t,
248 ) -> cuestStatus_t,
249 >,
250 pub cuestDFIntPlanCreateWorkspaceQuery: Option<
251 unsafe extern "C" fn(
252 handle: cuestHandle_t,
253 primaryBasis: cuestAOBasis_t,
254 auxiliaryBasis: cuestAOBasis_t,
255 pairList: cuestAOPairList_t,
256 parameters: cuestDFIntPlanParameters_t,
257 persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
258 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
259 outPlan: *mut cuestDFIntPlan_t,
260 ) -> cuestStatus_t,
261 >,
262 pub cuestDFIntPlanDestroy:
263 Option<unsafe extern "C" fn(plan: cuestDFIntPlan_t) -> cuestStatus_t>,
264 pub cuestOverlapCompute: Option<
265 unsafe extern "C" fn(
266 handle: cuestHandle_t,
267 plan: cuestOEIntPlan_t,
268 parameters: cuestOverlapComputeParameters_t,
269 temporaryWorkspace: *mut cuestWorkspace_t,
270 outSMatrix: *mut f64,
271 ) -> cuestStatus_t,
272 >,
273 pub cuestOverlapComputeWorkspaceQuery: Option<
274 unsafe extern "C" fn(
275 handle: cuestHandle_t,
276 plan: cuestOEIntPlan_t,
277 parameters: cuestOverlapComputeParameters_t,
278 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
279 outSMatrix: *mut f64,
280 ) -> cuestStatus_t,
281 >,
282 pub cuestOverlapDerivativeCompute: Option<
283 unsafe extern "C" fn(
284 handle: cuestHandle_t,
285 plan: cuestOEIntPlan_t,
286 parameters: cuestOverlapDerivativeComputeParameters_t,
287 temporaryWorkspace: *mut cuestWorkspace_t,
288 densityMatrix: *const f64,
289 outGradient: *mut f64,
290 ) -> cuestStatus_t,
291 >,
292 pub cuestOverlapDerivativeComputeWorkspaceQuery: Option<
293 unsafe extern "C" fn(
294 handle: cuestHandle_t,
295 plan: cuestOEIntPlan_t,
296 parameters: cuestOverlapDerivativeComputeParameters_t,
297 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
298 densityMatrix: *const f64,
299 outGradient: *mut f64,
300 ) -> cuestStatus_t,
301 >,
302 pub cuestKineticCompute: Option<
303 unsafe extern "C" fn(
304 handle: cuestHandle_t,
305 plan: cuestOEIntPlan_t,
306 parameters: cuestKineticComputeParameters_t,
307 temporaryWorkspace: *mut cuestWorkspace_t,
308 outTMatrix: *mut f64,
309 ) -> cuestStatus_t,
310 >,
311 pub cuestKineticComputeWorkspaceQuery: Option<
312 unsafe extern "C" fn(
313 handle: cuestHandle_t,
314 plan: cuestOEIntPlan_t,
315 parameters: cuestKineticComputeParameters_t,
316 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
317 outTMatrix: *mut f64,
318 ) -> cuestStatus_t,
319 >,
320 pub cuestKineticDerivativeCompute: Option<
321 unsafe extern "C" fn(
322 handle: cuestHandle_t,
323 plan: cuestOEIntPlan_t,
324 parameters: cuestKineticDerivativeComputeParameters_t,
325 temporaryWorkspace: *mut cuestWorkspace_t,
326 densityMatrix: *const f64,
327 outGradient: *mut f64,
328 ) -> cuestStatus_t,
329 >,
330 pub cuestKineticDerivativeComputeWorkspaceQuery: Option<
331 unsafe extern "C" fn(
332 handle: cuestHandle_t,
333 plan: cuestOEIntPlan_t,
334 parameters: cuestKineticDerivativeComputeParameters_t,
335 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
336 densityMatrix: *const f64,
337 outGradient: *mut f64,
338 ) -> cuestStatus_t,
339 >,
340 pub cuestMultipoleCompute: Option<
341 unsafe extern "C" fn(
342 handle: cuestHandle_t,
343 plan: cuestOEIntPlan_t,
344 parameters: cuestMultipoleComputeParameters_t,
345 temporaryWorkspace: *mut cuestWorkspace_t,
346 multipoleOrder: *const u32,
347 origin: *const f64,
348 outMatrix: *mut f64,
349 ) -> cuestStatus_t,
350 >,
351 pub cuestMultipoleComputeWorkspaceQuery: Option<
352 unsafe extern "C" fn(
353 handle: cuestHandle_t,
354 plan: cuestOEIntPlan_t,
355 parameters: cuestMultipoleComputeParameters_t,
356 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
357 multipoleOrder: *const u32,
358 origin: *const f64,
359 outMatrix: *mut f64,
360 ) -> cuestStatus_t,
361 >,
362 pub cuestMultipoleDerivativeCompute: Option<
363 unsafe extern "C" fn(
364 handle: cuestHandle_t,
365 plan: cuestOEIntPlan_t,
366 parameters: cuestMultipoleDerivativeComputeParameters_t,
367 temporaryWorkspace: *mut cuestWorkspace_t,
368 multipoleOrder: *const u32,
369 origin: *const f64,
370 densityMatrix: *const f64,
371 outGradient: *mut f64,
372 ) -> cuestStatus_t,
373 >,
374 pub cuestMultipoleDerivativeComputeWorkspaceQuery: Option<
375 unsafe extern "C" fn(
376 handle: cuestHandle_t,
377 plan: cuestOEIntPlan_t,
378 parameters: cuestMultipoleDerivativeComputeParameters_t,
379 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
380 multipoleOrder: *const u32,
381 origin: *const f64,
382 densityMatrix: *const f64,
383 outGradient: *mut f64,
384 ) -> cuestStatus_t,
385 >,
386 pub cuestAngularMomentumCompute: Option<
387 unsafe extern "C" fn(
388 handle: cuestHandle_t,
389 plan: cuestOEIntPlan_t,
390 parameters: cuestAngularMomentumComputeParameters_t,
391 temporaryWorkspace: *mut cuestWorkspace_t,
392 component: cuestAngularMomentumComputeParametersComponent_t,
393 origin: *const f64,
394 outMatrix: *mut f64,
395 ) -> cuestStatus_t,
396 >,
397 pub cuestAngularMomentumComputeWorkspaceQuery: Option<
398 unsafe extern "C" fn(
399 handle: cuestHandle_t,
400 plan: cuestOEIntPlan_t,
401 parameters: cuestAngularMomentumComputeParameters_t,
402 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
403 component: cuestAngularMomentumComputeParametersComponent_t,
404 origin: *const f64,
405 outMatrix: *mut f64,
406 ) -> cuestStatus_t,
407 >,
408 pub cuestAngularMomentumDerivativeCompute: Option<
409 unsafe extern "C" fn(
410 handle: cuestHandle_t,
411 plan: cuestOEIntPlan_t,
412 parameters: cuestAngularMomentumDerivativeComputeParameters_t,
413 temporaryWorkspace: *mut cuestWorkspace_t,
414 component: cuestAngularMomentumComputeParametersComponent_t,
415 origin: *const f64,
416 densityMatrix: *const f64,
417 outGradient: *mut f64,
418 ) -> cuestStatus_t,
419 >,
420 pub cuestAngularMomentumDerivativeComputeWorkspaceQuery: Option<
421 unsafe extern "C" fn(
422 handle: cuestHandle_t,
423 plan: cuestOEIntPlan_t,
424 parameters: cuestAngularMomentumDerivativeComputeParameters_t,
425 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
426 component: cuestAngularMomentumComputeParametersComponent_t,
427 origin: *const f64,
428 densityMatrix: *const f64,
429 outGradient: *mut f64,
430 ) -> cuestStatus_t,
431 >,
432 pub cuestNablaCompute: Option<
433 unsafe extern "C" fn(
434 handle: cuestHandle_t,
435 plan: cuestOEIntPlan_t,
436 parameters: cuestNablaComputeParameters_t,
437 temporaryWorkspace: *mut cuestWorkspace_t,
438 component: cuestNablaComputeParametersComponent_t,
439 outMatrix: *mut f64,
440 ) -> cuestStatus_t,
441 >,
442 pub cuestNablaComputeWorkspaceQuery: Option<
443 unsafe extern "C" fn(
444 handle: cuestHandle_t,
445 plan: cuestOEIntPlan_t,
446 parameters: cuestNablaComputeParameters_t,
447 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
448 component: cuestNablaComputeParametersComponent_t,
449 outMatrix: *mut f64,
450 ) -> cuestStatus_t,
451 >,
452 pub cuestNablaDerivativeCompute: Option<
453 unsafe extern "C" fn(
454 handle: cuestHandle_t,
455 plan: cuestOEIntPlan_t,
456 parameters: cuestNablaDerivativeComputeParameters_t,
457 temporaryWorkspace: *mut cuestWorkspace_t,
458 component: cuestNablaComputeParametersComponent_t,
459 densityMatrix: *const f64,
460 outGradient: *mut f64,
461 ) -> cuestStatus_t,
462 >,
463 pub cuestNablaDerivativeComputeWorkspaceQuery: Option<
464 unsafe extern "C" fn(
465 handle: cuestHandle_t,
466 plan: cuestOEIntPlan_t,
467 parameters: cuestNablaDerivativeComputeParameters_t,
468 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
469 component: cuestNablaComputeParametersComponent_t,
470 densityMatrix: *const f64,
471 outGradient: *mut f64,
472 ) -> cuestStatus_t,
473 >,
474 pub cuestPotentialCompute: Option<
475 unsafe extern "C" fn(
476 handle: cuestHandle_t,
477 plan: cuestOEIntPlan_t,
478 parameters: cuestPotentialComputeParameters_t,
479 temporaryWorkspace: *mut cuestWorkspace_t,
480 numCharges: u64,
481 xyz: *const f64,
482 q: *const f64,
483 outVMatrix: *mut f64,
484 ) -> cuestStatus_t,
485 >,
486 pub cuestPotentialComputeWorkspaceQuery: Option<
487 unsafe extern "C" fn(
488 handle: cuestHandle_t,
489 plan: cuestOEIntPlan_t,
490 parameters: cuestPotentialComputeParameters_t,
491 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
492 numCharges: u64,
493 xyz: *const f64,
494 q: *const f64,
495 outVMatrix: *mut f64,
496 ) -> cuestStatus_t,
497 >,
498 pub cuestPotentialDerivativeCompute: Option<
499 unsafe extern "C" fn(
500 handle: cuestHandle_t,
501 plan: cuestOEIntPlan_t,
502 parameters: cuestPotentialDerivativeComputeParameters_t,
503 temporaryWorkspace: *mut cuestWorkspace_t,
504 numCharges: u64,
505 xyz: *const f64,
506 q: *const f64,
507 densityMatrix: *const f64,
508 outBasisGradient: *mut f64,
509 outChargeGradient: *mut f64,
510 ) -> cuestStatus_t,
511 >,
512 pub cuestPotentialDerivativeComputeWorkspaceQuery: Option<
513 unsafe extern "C" fn(
514 handle: cuestHandle_t,
515 plan: cuestOEIntPlan_t,
516 parameters: cuestPotentialDerivativeComputeParameters_t,
517 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
518 numCharges: u64,
519 xyz: *const f64,
520 q: *const f64,
521 densityMatrix: *const f64,
522 outBasisGradient: *mut f64,
523 outChargeGradient: *mut f64,
524 ) -> cuestStatus_t,
525 >,
526 pub cuestDFCoulombCompute: Option<
527 unsafe extern "C" fn(
528 handle: cuestHandle_t,
529 plan: cuestDFIntPlan_t,
530 parameters: cuestDFCoulombComputeParameters_t,
531 temporaryWorkspace: *mut cuestWorkspace_t,
532 densityMatrix: *const f64,
533 outCoulombMatrix: *mut f64,
534 ) -> cuestStatus_t,
535 >,
536 pub cuestDFCoulombComputeWorkspaceQuery: Option<
537 unsafe extern "C" fn(
538 handle: cuestHandle_t,
539 plan: cuestDFIntPlan_t,
540 parameters: cuestDFCoulombComputeParameters_t,
541 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
542 densityMatrix: *const f64,
543 outCoulombMatrix: *mut f64,
544 ) -> cuestStatus_t,
545 >,
546 pub cuestDFSymmetricExchangeCompute: Option<
547 unsafe extern "C" fn(
548 handle: cuestHandle_t,
549 plan: cuestDFIntPlan_t,
550 parameters: cuestDFSymmetricExchangeComputeParameters_t,
551 variableBufferSize: *const cuestWorkspaceDescriptor_t,
552 temporaryWorkspace: *mut cuestWorkspace_t,
553 numOccupied: u64,
554 coefficientMatrix: *const f64,
555 outExchangeMatrix: *mut f64,
556 ) -> cuestStatus_t,
557 >,
558 pub cuestDFSymmetricExchangeComputeWorkspaceQuery: Option<
559 unsafe extern "C" fn(
560 handle: cuestHandle_t,
561 plan: cuestDFIntPlan_t,
562 parameters: cuestDFSymmetricExchangeComputeParameters_t,
563 variableBufferSize: *const cuestWorkspaceDescriptor_t,
564 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
565 numOccupied: u64,
566 coefficientMatrix: *const f64,
567 outExchangeMatrix: *mut f64,
568 ) -> cuestStatus_t,
569 >,
570 pub cuestDFNonsymmetricExchangeCompute: Option<
571 unsafe extern "C" fn(
572 handle: cuestHandle_t,
573 plan: cuestDFIntPlan_t,
574 parameters: cuestDFNonsymmetricExchangeComputeParameters_t,
575 variableBufferSize: *const cuestWorkspaceDescriptor_t,
576 temporaryWorkspace: *mut cuestWorkspace_t,
577 numCoefficientMatrices: u64,
578 numOccupied: u64,
579 leftCoefficientMatrix: *const f64,
580 rightCoefficientMatrices: *const f64,
581 outExchangeMatrices: *mut f64,
582 ) -> cuestStatus_t,
583 >,
584 pub cuestDFNonsymmetricExchangeComputeWorkspaceQuery: Option<
585 unsafe extern "C" fn(
586 handle: cuestHandle_t,
587 plan: cuestDFIntPlan_t,
588 parameters: cuestDFNonsymmetricExchangeComputeParameters_t,
589 variableBufferSize: *const cuestWorkspaceDescriptor_t,
590 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
591 numCoefficientMatrices: u64,
592 numOccupied: u64,
593 leftCoefficientMatrix: *const f64,
594 rightCoefficientMatrices: *const f64,
595 outExchangeMatrices: *mut f64,
596 ) -> cuestStatus_t,
597 >,
598 pub cuestDFSymmetricDerivativeCompute: Option<
599 unsafe extern "C" fn(
600 handle: cuestHandle_t,
601 plan: cuestDFIntPlan_t,
602 parameters: cuestDFSymmetricDerivativeComputeParameters_t,
603 variableBufferSize: *const cuestWorkspaceDescriptor_t,
604 temporaryWorkspace: *mut cuestWorkspace_t,
605 densityScale: f64,
606 densityMatrix: *const f64,
607 coefficientScale: f64,
608 numCoefficientMatrices: u64,
609 numOccupied: *const u64,
610 coefficientMatrices: *const f64,
611 outGradient: *mut f64,
612 ) -> cuestStatus_t,
613 >,
614 pub cuestDFSymmetricDerivativeComputeWorkspaceQuery: Option<
615 unsafe extern "C" fn(
616 handle: cuestHandle_t,
617 plan: cuestDFIntPlan_t,
618 parameters: cuestDFSymmetricDerivativeComputeParameters_t,
619 variableBufferSize: *const cuestWorkspaceDescriptor_t,
620 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
621 densityScale: f64,
622 densityMatrix: *const f64,
623 coefficientScale: f64,
624 numCoefficientMatrices: u64,
625 numOccupied: *const u64,
626 coefficientMatrices: *const f64,
627 outGradient: *mut f64,
628 ) -> cuestStatus_t,
629 >,
630 pub cuestDFMOIntegralsCompute: Option<
631 unsafe extern "C" fn(
632 handle: cuestHandle_t,
633 plan: cuestDFIntPlan_t,
634 parameters: cuestDFMOIntegralsComputeParameters_t,
635 variableBufferSize: *const cuestWorkspaceDescriptor_t,
636 temporaryWorkspace: *mut cuestWorkspace_t,
637 numCoefficientMatrices: u64,
638 numLeftOrbitals: *const u64,
639 numRightOrbitals: *const u64,
640 leftCoefficientMatrices: *const f64,
641 rightCoefficientMatrices: *const f64,
642 outTensors: *mut f64,
643 ) -> cuestStatus_t,
644 >,
645 pub cuestDFMOIntegralsComputeWorkspaceQuery: Option<
646 unsafe extern "C" fn(
647 handle: cuestHandle_t,
648 plan: cuestDFIntPlan_t,
649 parameters: cuestDFMOIntegralsComputeParameters_t,
650 variableBufferSize: *const cuestWorkspaceDescriptor_t,
651 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
652 numCoefficientMatrices: u64,
653 numLeftOrbitals: *const u64,
654 numRightOrbitals: *const u64,
655 leftCoefficientMatrices: *const f64,
656 rightCoefficientMatrices: *const f64,
657 outTensors: *mut f64,
658 ) -> cuestStatus_t,
659 >,
660 pub cuestAtomGridCreate: Option<
661 unsafe extern "C" fn(
662 handle: cuestHandle_t,
663 numRadialPoints: u64,
664 radialNodes: *const f64,
665 radialWeights: *const f64,
666 numAngularPoints: *const u64,
667 parameters: cuestAtomGridParameters_t,
668 outAtomGrid: *mut cuestAtomGrid_t,
669 ) -> cuestStatus_t,
670 >,
671 pub cuestAtomGridDestroy:
672 Option<unsafe extern "C" fn(atomGrid: cuestAtomGrid_t) -> cuestStatus_t>,
673 pub cuestMolecularGridCreate: Option<
674 unsafe extern "C" fn(
675 handle: cuestHandle_t,
676 numAtoms: u64,
677 atomGrid: *const cuestAtomGrid_t,
678 xyz: *const f64,
679 parameters: cuestMolecularGridParameters_t,
680 persistentWorkspace: *mut cuestWorkspace_t,
681 temporaryWorkspace: *mut cuestWorkspace_t,
682 outGrid: *mut cuestMolecularGrid_t,
683 ) -> cuestStatus_t,
684 >,
685 pub cuestMolecularGridCreateWorkspaceQuery: Option<
686 unsafe extern "C" fn(
687 handle: cuestHandle_t,
688 numAtoms: u64,
689 atomGrid: *const cuestAtomGrid_t,
690 xyz: *const f64,
691 parameters: cuestMolecularGridParameters_t,
692 persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
693 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
694 outGrid: *mut cuestMolecularGrid_t,
695 ) -> cuestStatus_t,
696 >,
697 pub cuestMolecularGridDestroy:
698 Option<unsafe extern "C" fn(grid: cuestMolecularGrid_t) -> cuestStatus_t>,
699 pub cuestXCIntPlanCreate: Option<
700 unsafe extern "C" fn(
701 handle: cuestHandle_t,
702 basis: cuestAOBasis_t,
703 grid: cuestMolecularGrid_t,
704 functional: cuestXCIntPlanParametersFunctional_t,
705 parameters: cuestXCIntPlanParameters_t,
706 persistentWorkspace: *mut cuestWorkspace_t,
707 temporaryWorkspace: *mut cuestWorkspace_t,
708 outPlan: *mut cuestXCIntPlan_t,
709 ) -> cuestStatus_t,
710 >,
711 pub cuestXCIntPlanCreateWorkspaceQuery: Option<
712 unsafe extern "C" fn(
713 handle: cuestHandle_t,
714 basis: cuestAOBasis_t,
715 grid: cuestMolecularGrid_t,
716 functional: cuestXCIntPlanParametersFunctional_t,
717 parameters: cuestXCIntPlanParameters_t,
718 persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
719 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
720 outPlan: *mut cuestXCIntPlan_t,
721 ) -> cuestStatus_t,
722 >,
723 pub cuestXCIntPlanDestroy:
724 Option<unsafe extern "C" fn(plan: cuestXCIntPlan_t) -> cuestStatus_t>,
725 pub cuestXCIntegrationGridCompute: Option<
726 unsafe extern "C" fn(
727 handle: cuestHandle_t,
728 plan: cuestXCIntPlan_t,
729 parameters: cuestXCIntegrationGridComputeParameters_t,
730 temporaryWorkspace: *mut cuestWorkspace_t,
731 outGridPoints: *mut f64,
732 ) -> cuestStatus_t,
733 >,
734 pub cuestXCIntegrationGridComputeWorkspaceQuery: Option<
735 unsafe extern "C" fn(
736 handle: cuestHandle_t,
737 plan: cuestXCIntPlan_t,
738 parameters: cuestXCIntegrationGridComputeParameters_t,
739 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
740 outGridPoints: *mut f64,
741 ) -> cuestStatus_t,
742 >,
743 pub cuestXCIntegrationWeightCompute: Option<
744 unsafe extern "C" fn(
745 handle: cuestHandle_t,
746 plan: cuestXCIntPlan_t,
747 weightType: cuestXCIntegrationWeightComputeParametersWeightType_t,
748 parameters: cuestXCIntegrationWeightComputeParameters_t,
749 temporaryWorkspace: *mut cuestWorkspace_t,
750 outGridWeights: *mut f64,
751 ) -> cuestStatus_t,
752 >,
753 pub cuestXCIntegrationWeightComputeWorkspaceQuery: Option<
754 unsafe extern "C" fn(
755 handle: cuestHandle_t,
756 plan: cuestXCIntPlan_t,
757 weightType: cuestXCIntegrationWeightComputeParametersWeightType_t,
758 parameters: cuestXCIntegrationWeightComputeParameters_t,
759 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
760 outGridWeights: *mut f64,
761 ) -> cuestStatus_t,
762 >,
763 pub cuestXCPotentialRKSCompute: Option<
764 unsafe extern "C" fn(
765 handle: cuestHandle_t,
766 plan: cuestXCIntPlan_t,
767 parameters: cuestXCPotentialRKSComputeParameters_t,
768 variableBufferSize: *const cuestWorkspaceDescriptor_t,
769 temporaryWorkspace: *mut cuestWorkspace_t,
770 numOccupied: u64,
771 coefficientMatrix: *const f64,
772 outXCEnergy: *mut f64,
773 outXCPotentialMatrix: *mut f64,
774 ) -> cuestStatus_t,
775 >,
776 pub cuestXCPotentialRKSComputeWorkspaceQuery: Option<
777 unsafe extern "C" fn(
778 handle: cuestHandle_t,
779 plan: cuestXCIntPlan_t,
780 parameters: cuestXCPotentialRKSComputeParameters_t,
781 variableBufferSize: *const cuestWorkspaceDescriptor_t,
782 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
783 numOccupied: u64,
784 coefficientMatrix: *const f64,
785 outXCEnergy: *mut f64,
786 outXCPotentialMatrix: *mut f64,
787 ) -> cuestStatus_t,
788 >,
789 pub cuestXCPotentialUKSCompute: Option<
790 unsafe extern "C" fn(
791 handle: cuestHandle_t,
792 plan: cuestXCIntPlan_t,
793 parameters: cuestXCPotentialUKSComputeParameters_t,
794 variableBufferSize: *const cuestWorkspaceDescriptor_t,
795 temporaryWorkspace: *mut cuestWorkspace_t,
796 numOccupiedAlpha: u64,
797 numOccupiedBeta: u64,
798 coefficientMatrixAlpha: *const f64,
799 coefficientMatrixBeta: *const f64,
800 outXCEnergy: *mut f64,
801 outXCPotentialMatrixAlpha: *mut f64,
802 outXCPotentialMatrixBeta: *mut f64,
803 ) -> cuestStatus_t,
804 >,
805 pub cuestXCPotentialUKSComputeWorkspaceQuery: Option<
806 unsafe extern "C" fn(
807 handle: cuestHandle_t,
808 plan: cuestXCIntPlan_t,
809 parameters: cuestXCPotentialUKSComputeParameters_t,
810 variableBufferSize: *const cuestWorkspaceDescriptor_t,
811 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
812 numOccupiedAlpha: u64,
813 numOccupiedBeta: u64,
814 coefficientMatrixAlpha: *const f64,
815 coefficientMatrixBeta: *const f64,
816 outXCEnergy: *mut f64,
817 outXCPotentialMatrixAlpha: *mut f64,
818 outXCPotentialMatrixBeta: *mut f64,
819 ) -> cuestStatus_t,
820 >,
821 pub cuestXCDensityCompute: Option<
822 unsafe extern "C" fn(
823 handle: cuestHandle_t,
824 plan: cuestXCIntPlan_t,
825 approximation: cuestXCAdvancedComputeParametersApproximation_t,
826 parameters: cuestXCDensityComputeParameters_t,
827 variableBufferSize: *const cuestWorkspaceDescriptor_t,
828 temporaryWorkspace: *mut cuestWorkspace_t,
829 numOccupied: u64,
830 coefficientMatrix: *const f64,
831 outGridDensity: *mut f64,
832 ) -> cuestStatus_t,
833 >,
834 pub cuestXCDensityComputeWorkspaceQuery: Option<
835 unsafe extern "C" fn(
836 handle: cuestHandle_t,
837 plan: cuestXCIntPlan_t,
838 approximation: cuestXCAdvancedComputeParametersApproximation_t,
839 parameters: cuestXCDensityComputeParameters_t,
840 variableBufferSize: *const cuestWorkspaceDescriptor_t,
841 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
842 numOccupied: u64,
843 coefficientMatrix: *const f64,
844 outGridDensity: *mut f64,
845 ) -> cuestStatus_t,
846 >,
847 pub cuestXCPotentialCompute: Option<
848 unsafe extern "C" fn(
849 handle: cuestHandle_t,
850 plan: cuestXCIntPlan_t,
851 approximation: cuestXCAdvancedComputeParametersApproximation_t,
852 parameters: cuestXCPotentialComputeParameters_t,
853 variableBufferSize: *const cuestWorkspaceDescriptor_t,
854 temporaryWorkspace: *mut cuestWorkspace_t,
855 gridXCPotential: *const f64,
856 outXCPotentialMatrix: *mut f64,
857 ) -> cuestStatus_t,
858 >,
859 pub cuestXCPotentialComputeWorkspaceQuery: Option<
860 unsafe extern "C" fn(
861 handle: cuestHandle_t,
862 plan: cuestXCIntPlan_t,
863 approximation: cuestXCAdvancedComputeParametersApproximation_t,
864 parameters: cuestXCPotentialComputeParameters_t,
865 variableBufferSize: *const cuestWorkspaceDescriptor_t,
866 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
867 gridXCPotential: *const f64,
868 outXCPotentialMatrix: *mut f64,
869 ) -> cuestStatus_t,
870 >,
871 pub cuestXCNonsymmetricDensityCompute: Option<
872 unsafe extern "C" fn(
873 handle: cuestHandle_t,
874 plan: cuestXCIntPlan_t,
875 approximation: cuestXCAdvancedComputeParametersApproximation_t,
876 parameters: cuestXCNonsymmetricDensityComputeParameters_t,
877 variableBufferSize: *const cuestWorkspaceDescriptor_t,
878 temporaryWorkspace: *mut cuestWorkspace_t,
879 numOccupied: u64,
880 leftCoefficientMatrix: *const f64,
881 rightCoefficientMatrix: *const f64,
882 outGridDensity: *mut f64,
883 ) -> cuestStatus_t,
884 >,
885 pub cuestXCNonsymmetricDensityComputeWorkspaceQuery: Option<
886 unsafe extern "C" fn(
887 handle: cuestHandle_t,
888 plan: cuestXCIntPlan_t,
889 approximation: cuestXCAdvancedComputeParametersApproximation_t,
890 parameters: cuestXCNonsymmetricDensityComputeParameters_t,
891 variableBufferSize: *const cuestWorkspaceDescriptor_t,
892 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
893 numOccupied: u64,
894 leftCoefficientMatrix: *const f64,
895 rightCoefficientMatrix: *const f64,
896 outGridDensity: *mut f64,
897 ) -> cuestStatus_t,
898 >,
899 pub cuestXCDerivativeRKSCompute: Option<
900 unsafe extern "C" fn(
901 handle: cuestHandle_t,
902 plan: cuestXCIntPlan_t,
903 parameters: cuestXCDerivativeRKSComputeParameters_t,
904 variableBufferSize: *const cuestWorkspaceDescriptor_t,
905 temporaryWorkspace: *mut cuestWorkspace_t,
906 numOccupied: u64,
907 coefficientMatrix: *const f64,
908 outGradient: *mut f64,
909 ) -> cuestStatus_t,
910 >,
911 pub cuestXCDerivativeRKSComputeWorkspaceQuery: Option<
912 unsafe extern "C" fn(
913 handle: cuestHandle_t,
914 plan: cuestXCIntPlan_t,
915 parameters: cuestXCDerivativeRKSComputeParameters_t,
916 variableBufferSize: *const cuestWorkspaceDescriptor_t,
917 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
918 numOccupied: u64,
919 coefficientMatrix: *const f64,
920 outGradient: *mut f64,
921 ) -> cuestStatus_t,
922 >,
923 pub cuestXCDerivativeUKSCompute: Option<
924 unsafe extern "C" fn(
925 handle: cuestHandle_t,
926 plan: cuestXCIntPlan_t,
927 parameters: cuestXCDerivativeUKSComputeParameters_t,
928 variableBufferSize: *const cuestWorkspaceDescriptor_t,
929 temporaryWorkspace: *mut cuestWorkspace_t,
930 numOccupiedAlpha: u64,
931 numOccupiedBeta: u64,
932 coefficientMatrixAlpha: *const f64,
933 coefficientMatrixBeta: *const f64,
934 outGradient: *mut f64,
935 ) -> cuestStatus_t,
936 >,
937 pub cuestXCDerivativeUKSComputeWorkspaceQuery: Option<
938 unsafe extern "C" fn(
939 handle: cuestHandle_t,
940 plan: cuestXCIntPlan_t,
941 parameters: cuestXCDerivativeUKSComputeParameters_t,
942 variableBufferSize: *const cuestWorkspaceDescriptor_t,
943 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
944 numOccupiedAlpha: u64,
945 numOccupiedBeta: u64,
946 coefficientMatrixAlpha: *const f64,
947 coefficientMatrixBeta: *const f64,
948 outGradient: *mut f64,
949 ) -> cuestStatus_t,
950 >,
951 pub cuestXCDerivativeCompute: Option<
952 unsafe extern "C" fn(
953 handle: cuestHandle_t,
954 plan: cuestXCIntPlan_t,
955 approximation: cuestXCAdvancedComputeParametersApproximation_t,
956 parameters: cuestXCDerivativeComputeParameters_t,
957 variableBufferSize: *const cuestWorkspaceDescriptor_t,
958 temporaryWorkspace: *mut cuestWorkspace_t,
959 numOccupied: u64,
960 coefficientMatrix: *const f64,
961 gridXCPotential: *const f64,
962 outBasisGradient: *mut f64,
963 outGridGradient: *mut f64,
964 ) -> cuestStatus_t,
965 >,
966 pub cuestXCDerivativeComputeWorkspaceQuery: Option<
967 unsafe extern "C" fn(
968 handle: cuestHandle_t,
969 plan: cuestXCIntPlan_t,
970 approximation: cuestXCAdvancedComputeParametersApproximation_t,
971 parameters: cuestXCDerivativeComputeParameters_t,
972 variableBufferSize: *const cuestWorkspaceDescriptor_t,
973 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
974 numOccupied: u64,
975 coefficientMatrix: *const f64,
976 gridXCPotential: *const f64,
977 outBasisGradient: *mut f64,
978 outGridGradient: *mut f64,
979 ) -> cuestStatus_t,
980 >,
981 pub cuestXCGridDerivativeCompute: Option<
982 unsafe extern "C" fn(
983 handle: cuestHandle_t,
984 plan: cuestXCIntPlan_t,
985 parameters: cuestXCGridDerivativeComputeParameters_t,
986 temporaryWorkspace: *mut cuestWorkspace_t,
987 gridXCEnergy: *const f64,
988 gridGradient: *const f64,
989 outGradient: *mut f64,
990 ) -> cuestStatus_t,
991 >,
992 pub cuestXCGridDerivativeComputeWorkspaceQuery: Option<
993 unsafe extern "C" fn(
994 handle: cuestHandle_t,
995 plan: cuestXCIntPlan_t,
996 parameters: cuestXCGridDerivativeComputeParameters_t,
997 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
998 gridXCEnergy: *const f64,
999 gridGradient: *const f64,
1000 outGradient: *mut f64,
1001 ) -> cuestStatus_t,
1002 >,
1003 pub cuestXCNonsymmetricDerivativeCompute: Option<
1004 unsafe extern "C" fn(
1005 handle: cuestHandle_t,
1006 plan: cuestXCIntPlan_t,
1007 approximation: cuestXCAdvancedComputeParametersApproximation_t,
1008 parameters: cuestXCNonsymmetricDerivativeComputeParameters_t,
1009 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1010 temporaryWorkspace: *mut cuestWorkspace_t,
1011 numOccupied: u64,
1012 leftCoefficientMatrix: *const f64,
1013 rightCoefficientMatrix: *const f64,
1014 gridXCPotential: *const f64,
1015 outBasisGradient: *mut f64,
1016 outGridGradient: *mut f64,
1017 ) -> cuestStatus_t,
1018 >,
1019 pub cuestXCNonsymmetricDerivativeComputeWorkspaceQuery: Option<
1020 unsafe extern "C" fn(
1021 handle: cuestHandle_t,
1022 plan: cuestXCIntPlan_t,
1023 approximation: cuestXCAdvancedComputeParametersApproximation_t,
1024 parameters: cuestXCNonsymmetricDerivativeComputeParameters_t,
1025 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1026 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1027 numOccupied: u64,
1028 leftCoefficientMatrix: *const f64,
1029 rightCoefficientMatrix: *const f64,
1030 gridXCPotential: *const f64,
1031 outBasisGradient: *mut f64,
1032 outGridGradient: *mut f64,
1033 ) -> cuestStatus_t,
1034 >,
1035 pub cuestNonlocalXCPotentialRKSCompute: Option<
1036 unsafe extern "C" fn(
1037 handle: cuestHandle_t,
1038 plan: cuestXCIntPlan_t,
1039 parameters: cuestNonlocalXCPotentialRKSComputeParameters_t,
1040 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1041 temporaryWorkspace: *mut cuestWorkspace_t,
1042 numOccupied: u64,
1043 coefficientMatrix: *const f64,
1044 outXCEnergy: *mut f64,
1045 outXCPotentialMatrix: *mut f64,
1046 ) -> cuestStatus_t,
1047 >,
1048 pub cuestNonlocalXCPotentialRKSComputeWorkspaceQuery: Option<
1049 unsafe extern "C" fn(
1050 handle: cuestHandle_t,
1051 plan: cuestXCIntPlan_t,
1052 parameters: cuestNonlocalXCPotentialRKSComputeParameters_t,
1053 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1054 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1055 numOccupied: u64,
1056 coefficientMatrix: *const f64,
1057 outXCEnergy: *mut f64,
1058 outXCPotentialMatrix: *mut f64,
1059 ) -> cuestStatus_t,
1060 >,
1061 pub cuestNonlocalXCPotentialUKSCompute: Option<
1062 unsafe extern "C" fn(
1063 handle: cuestHandle_t,
1064 plan: cuestXCIntPlan_t,
1065 parameters: cuestNonlocalXCPotentialUKSComputeParameters_t,
1066 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1067 temporaryWorkspace: *mut cuestWorkspace_t,
1068 numOccupiedAlpha: u64,
1069 numOccupiedBeta: u64,
1070 coefficientMatrixAlpha: *const f64,
1071 coefficientMatrixBeta: *const f64,
1072 outXCEnergy: *mut f64,
1073 outXCPotentialMatrix: *mut f64,
1074 ) -> cuestStatus_t,
1075 >,
1076 pub cuestNonlocalXCPotentialUKSComputeWorkspaceQuery: Option<
1077 unsafe extern "C" fn(
1078 handle: cuestHandle_t,
1079 plan: cuestXCIntPlan_t,
1080 parameters: cuestNonlocalXCPotentialUKSComputeParameters_t,
1081 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1082 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1083 numOccupiedAlpha: u64,
1084 numOccupiedBeta: u64,
1085 coefficientMatrixAlpha: *const f64,
1086 coefficientMatrixBeta: *const f64,
1087 outXCEnergy: *mut f64,
1088 outXCPotentialMatrix: *mut f64,
1089 ) -> cuestStatus_t,
1090 >,
1091 pub cuestNonlocalXCDerivativeRKSCompute: Option<
1092 unsafe extern "C" fn(
1093 handle: cuestHandle_t,
1094 plan: cuestXCIntPlan_t,
1095 parameters: cuestNonlocalXCDerivativeRKSComputeParameters_t,
1096 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1097 temporaryWorkspace: *mut cuestWorkspace_t,
1098 numOccupied: u64,
1099 coefficientMatrix: *const f64,
1100 outGradient: *mut f64,
1101 ) -> cuestStatus_t,
1102 >,
1103 pub cuestNonlocalXCDerivativeRKSComputeWorkspaceQuery: Option<
1104 unsafe extern "C" fn(
1105 handle: cuestHandle_t,
1106 plan: cuestXCIntPlan_t,
1107 parameters: cuestNonlocalXCDerivativeRKSComputeParameters_t,
1108 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1109 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1110 numOccupied: u64,
1111 coefficientMatrix: *const f64,
1112 outGradient: *mut f64,
1113 ) -> cuestStatus_t,
1114 >,
1115 pub cuestNonlocalXCDerivativeUKSCompute: Option<
1116 unsafe extern "C" fn(
1117 handle: cuestHandle_t,
1118 plan: cuestXCIntPlan_t,
1119 parameters: cuestNonlocalXCDerivativeUKSComputeParameters_t,
1120 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1121 temporaryWorkspace: *mut cuestWorkspace_t,
1122 numOccupiedAlpha: u64,
1123 numOccupiedBeta: u64,
1124 coefficientMatrixAlpha: *const f64,
1125 coefficientMatrixBeta: *const f64,
1126 outGradient: *mut f64,
1127 ) -> cuestStatus_t,
1128 >,
1129 pub cuestNonlocalXCDerivativeUKSComputeWorkspaceQuery: Option<
1130 unsafe extern "C" fn(
1131 handle: cuestHandle_t,
1132 plan: cuestXCIntPlan_t,
1133 parameters: cuestNonlocalXCDerivativeUKSComputeParameters_t,
1134 variableBufferSize: *const cuestWorkspaceDescriptor_t,
1135 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1136 numOccupiedAlpha: u64,
1137 numOccupiedBeta: u64,
1138 coefficientMatrixAlpha: *const f64,
1139 coefficientMatrixBeta: *const f64,
1140 outGradient: *mut f64,
1141 ) -> cuestStatus_t,
1142 >,
1143 pub cuestPCMIntPlanCreate: Option<
1144 unsafe extern "C" fn(
1145 handle: cuestHandle_t,
1146 intPlan: cuestOEIntPlan_t,
1147 parameters: cuestPCMIntPlanParameters_t,
1148 persistentWorkspace: *mut cuestWorkspace_t,
1149 temporaryWorkspace: *mut cuestWorkspace_t,
1150 numAngularPointsPerAtom: *const u64,
1151 epsilon: f64,
1152 zetas: *const f64,
1153 atomicRadii: *const f64,
1154 effectiveNuclearCharges: *const f64,
1155 outPlan: *mut cuestPCMIntPlan_t,
1156 ) -> cuestStatus_t,
1157 >,
1158 pub cuestPCMIntPlanCreateWorkspaceQuery: Option<
1159 unsafe extern "C" fn(
1160 handle: cuestHandle_t,
1161 intPlan: cuestOEIntPlan_t,
1162 parameters: cuestPCMIntPlanParameters_t,
1163 persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1164 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1165 numAngularPointsPerAtom: *const u64,
1166 epsilon: f64,
1167 zetas: *const f64,
1168 atomicRadii: *const f64,
1169 effectiveNuclearCharges: *const f64,
1170 outPlan: *mut cuestPCMIntPlan_t,
1171 ) -> cuestStatus_t,
1172 >,
1173 pub cuestPCMIntPlanDestroy:
1174 Option<unsafe extern "C" fn(plan: cuestPCMIntPlan_t) -> cuestStatus_t>,
1175 pub cuestPCMPotentialCompute: Option<
1176 unsafe extern "C" fn(
1177 handle: cuestHandle_t,
1178 plan: cuestPCMIntPlan_t,
1179 parameters: cuestPCMPotentialComputeParameters_t,
1180 temporaryWorkspace: *mut cuestWorkspace_t,
1181 densityMatrix: *const f64,
1182 inQ: *const f64,
1183 outQ: *mut f64,
1184 outPCMResults: cuestPCMResults_t,
1185 outPCMPotentialMatrix: *mut f64,
1186 ) -> cuestStatus_t,
1187 >,
1188 pub cuestPCMPotentialComputeWorkspaceQuery: Option<
1189 unsafe extern "C" fn(
1190 handle: cuestHandle_t,
1191 plan: cuestPCMIntPlan_t,
1192 parameters: cuestPCMPotentialComputeParameters_t,
1193 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1194 densityMatrix: *const f64,
1195 inQ: *const f64,
1196 outQ: *mut f64,
1197 outPCMResults: cuestPCMResults_t,
1198 outPCMPotentialMatrix: *mut f64,
1199 ) -> cuestStatus_t,
1200 >,
1201 pub cuestPCMDerivativeCompute: Option<
1202 unsafe extern "C" fn(
1203 handle: cuestHandle_t,
1204 plan: cuestPCMIntPlan_t,
1205 parameters: cuestPCMDerivativeComputeParameters_t,
1206 temporaryWorkspace: *mut cuestWorkspace_t,
1207 densityMatrix: *const f64,
1208 inQ: *const f64,
1209 outQ: *mut f64,
1210 outPCMResults: cuestPCMResults_t,
1211 outPCMGradient: *mut f64,
1212 ) -> cuestStatus_t,
1213 >,
1214 pub cuestPCMDerivativeComputeWorkspaceQuery: Option<
1215 unsafe extern "C" fn(
1216 handle: cuestHandle_t,
1217 plan: cuestPCMIntPlan_t,
1218 parameters: cuestPCMDerivativeComputeParameters_t,
1219 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1220 densityMatrix: *const f64,
1221 inQ: *const f64,
1222 outQ: *mut f64,
1223 outPCMResults: cuestPCMResults_t,
1224 outPCMGradient: *mut f64,
1225 ) -> cuestStatus_t,
1226 >,
1227 pub cuestPCMRadiiDerivativeCompute: Option<
1228 unsafe extern "C" fn(
1229 handle: cuestHandle_t,
1230 plan: cuestPCMIntPlan_t,
1231 parameters: cuestPCMRadiiDerivativeComputeParameters_t,
1232 temporaryWorkspace: *mut cuestWorkspace_t,
1233 densityMatrix: *const f64,
1234 inQ: *const f64,
1235 outQ: *mut f64,
1236 outPCMResults: cuestPCMResults_t,
1237 outPCMRadiiGradient: *mut f64,
1238 ) -> cuestStatus_t,
1239 >,
1240 pub cuestPCMRadiiDerivativeComputeWorkspaceQuery: Option<
1241 unsafe extern "C" fn(
1242 handle: cuestHandle_t,
1243 plan: cuestPCMIntPlan_t,
1244 parameters: cuestPCMRadiiDerivativeComputeParameters_t,
1245 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1246 densityMatrix: *const f64,
1247 inQ: *const f64,
1248 outQ: *mut f64,
1249 outPCMResults: cuestPCMResults_t,
1250 outPCMRadiiGradient: *mut f64,
1251 ) -> cuestStatus_t,
1252 >,
1253 pub cuestPCMIntegrationGridCompute: Option<
1254 unsafe extern "C" fn(
1255 handle: cuestHandle_t,
1256 plan: cuestPCMIntPlan_t,
1257 parameters: cuestPCMIntegrationGridComputeParameters_t,
1258 temporaryWorkspace: *mut cuestWorkspace_t,
1259 outGridPoints: *mut f64,
1260 ) -> cuestStatus_t,
1261 >,
1262 pub cuestPCMIntegrationGridComputeWorkspaceQuery: Option<
1263 unsafe extern "C" fn(
1264 handle: cuestHandle_t,
1265 plan: cuestPCMIntPlan_t,
1266 parameters: cuestPCMIntegrationGridComputeParameters_t,
1267 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1268 outGridPoints: *mut f64,
1269 ) -> cuestStatus_t,
1270 >,
1271 pub cuestPCMIntegrationWeightCompute: Option<
1272 unsafe extern "C" fn(
1273 handle: cuestHandle_t,
1274 plan: cuestPCMIntPlan_t,
1275 weightType: cuestPCMIntegrationWeightComputeParametersWeightType_t,
1276 parameters: cuestPCMIntegrationWeightComputeParameters_t,
1277 temporaryWorkspace: *mut cuestWorkspace_t,
1278 outGridWeights: *mut f64,
1279 ) -> cuestStatus_t,
1280 >,
1281 pub cuestPCMIntegrationWeightComputeWorkspaceQuery: Option<
1282 unsafe extern "C" fn(
1283 handle: cuestHandle_t,
1284 plan: cuestPCMIntPlan_t,
1285 weightType: cuestPCMIntegrationWeightComputeParametersWeightType_t,
1286 parameters: cuestPCMIntegrationWeightComputeParameters_t,
1287 temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
1288 outGridWeights: *mut f64,
1289 ) -> cuestStatus_t,
1290 >,
1291 pub cuestQuery: Option<
1292 unsafe extern "C" fn(
1293 handle: cuestHandle_t,
1294 type_: cuestType_t,
1295 object: *const c_void,
1296 attribute: c_int,
1297 attributeValue: *mut c_void,
1298 attributeValueSize: usize,
1299 ) -> cuestStatus_t,
1300 >,
1301 pub cuestResultsCreate: Option<
1302 unsafe extern "C" fn(
1303 resultsType: cuestResultsType_t,
1304 outResults: *mut *mut c_void,
1305 ) -> cuestStatus_t,
1306 >,
1307 pub cuestResultsDestroy: Option<
1308 unsafe extern "C" fn(
1309 resultsType: cuestResultsType_t,
1310 results: *mut c_void,
1311 ) -> cuestStatus_t,
1312 >,
1313 pub cuestResultsQuery: Option<
1314 unsafe extern "C" fn(
1315 resultsType: cuestResultsType_t,
1316 results: *const c_void,
1317 attribute: c_int,
1318 resultValue: *mut c_void,
1319 resultValueSize: usize,
1320 ) -> cuestStatus_t,
1321 >,
1322 pub cuestParametersCreate: Option<
1323 unsafe extern "C" fn(
1324 parameterType: cuestParametersType_t,
1325 outParameters: *mut *mut c_void,
1326 ) -> cuestStatus_t,
1327 >,
1328 pub cuestParametersDestroy: Option<
1329 unsafe extern "C" fn(
1330 parameterType: cuestParametersType_t,
1331 parameters: *mut c_void,
1332 ) -> cuestStatus_t,
1333 >,
1334 pub cuestParametersQuery: Option<
1335 unsafe extern "C" fn(
1336 parameterType: cuestParametersType_t,
1337 parameters: *const c_void,
1338 attribute: c_int,
1339 attributeValue: *mut c_void,
1340 attributeValueSize: usize,
1341 ) -> cuestStatus_t,
1342 >,
1343 pub cuestParametersConfigure: Option<
1344 unsafe extern "C" fn(
1345 parameterType: cuestParametersType_t,
1346 parameters: *mut c_void,
1347 attribute: c_int,
1348 attributeValue: *const c_void,
1349 attributeValueSize: usize,
1350 ) -> cuestStatus_t,
1351 >,
1352}