Skip to main content

cuest_ffi/ffi_dynamic/
dyload_initializer.rs

1//! Library initializer implementation for dynamic loading.
2//!
3//! This file is generated automatically by `scripts/generate_ffi.py`; do not
4//! edit it manually.
5
6use super::*;
7use libloading::{Library, Symbol};
8
9unsafe fn get_symbol<'f, F>(libs: &'f [Library], name: &[u8]) -> Option<Symbol<'f, F>> {
10    libs.iter().find_map(|lib| lib.get::<F>(name).ok())
11}
12
13impl DyLoadLib {
14    pub unsafe fn new(libs: Vec<libloading::Library>, libs_path: Vec<String>) -> DyLoadLib {
15        let mut result = DyLoadLib {
16            __libraries: vec![],      // dummy, set later
17            __libraries_path: vec![], // dummy, set later
18            __error: None,
19            cuestCreate: get_symbol(&libs, b"cuestCreate\0").map(|sym| *sym),
20            cuestDestroy: get_symbol(&libs, b"cuestDestroy\0").map(|sym| *sym),
21            cuestSetMathMode: get_symbol(&libs, b"cuestSetMathMode\0").map(|sym| *sym),
22            cuestGetMathMode: get_symbol(&libs, b"cuestGetMathMode\0").map(|sym| *sym),
23            cuestSetComputeCapabilityTarget: get_symbol(
24                &libs,
25                b"cuestSetComputeCapabilityTarget\0",
26            )
27            .map(|sym| *sym),
28            cuestGetComputeCapabilityTarget: get_symbol(
29                &libs,
30                b"cuestGetComputeCapabilityTarget\0",
31            )
32            .map(|sym| *sym),
33            cuestGetMajorVersion: get_symbol(&libs, b"cuestGetMajorVersion\0").map(|sym| *sym),
34            cuestGetMinorVersion: get_symbol(&libs, b"cuestGetMinorVersion\0").map(|sym| *sym),
35            cuestGetPatchVersion: get_symbol(&libs, b"cuestGetPatchVersion\0").map(|sym| *sym),
36            cuestAOShellCreate: get_symbol(&libs, b"cuestAOShellCreate\0").map(|sym| *sym),
37            cuestAOShellDestroy: get_symbol(&libs, b"cuestAOShellDestroy\0").map(|sym| *sym),
38            cuestAOBasisCreate: get_symbol(&libs, b"cuestAOBasisCreate\0").map(|sym| *sym),
39            cuestAOBasisCreateWorkspaceQuery: get_symbol(
40                &libs,
41                b"cuestAOBasisCreateWorkspaceQuery\0",
42            )
43            .map(|sym| *sym),
44            cuestAOBasisDestroy: get_symbol(&libs, b"cuestAOBasisDestroy\0").map(|sym| *sym),
45            cuestAOPairListCreate: get_symbol(&libs, b"cuestAOPairListCreate\0").map(|sym| *sym),
46            cuestAOPairListCreateWorkspaceQuery: get_symbol(
47                &libs,
48                b"cuestAOPairListCreateWorkspaceQuery\0",
49            )
50            .map(|sym| *sym),
51            cuestAOPairListDestroy: get_symbol(&libs, b"cuestAOPairListDestroy\0").map(|sym| *sym),
52            cuestECPCompute: get_symbol(&libs, b"cuestECPCompute\0").map(|sym| *sym),
53            cuestECPComputeWorkspaceQuery: get_symbol(&libs, b"cuestECPComputeWorkspaceQuery\0")
54                .map(|sym| *sym),
55            cuestECPDerivativeCompute: get_symbol(&libs, b"cuestECPDerivativeCompute\0")
56                .map(|sym| *sym),
57            cuestECPDerivativeComputeWorkspaceQuery: get_symbol(
58                &libs,
59                b"cuestECPDerivativeComputeWorkspaceQuery\0",
60            )
61            .map(|sym| *sym),
62            cuestECPAtomCreate: get_symbol(&libs, b"cuestECPAtomCreate\0").map(|sym| *sym),
63            cuestECPAtomDestroy: get_symbol(&libs, b"cuestECPAtomDestroy\0").map(|sym| *sym),
64            cuestECPShellCreate: get_symbol(&libs, b"cuestECPShellCreate\0").map(|sym| *sym),
65            cuestECPShellDestroy: get_symbol(&libs, b"cuestECPShellDestroy\0").map(|sym| *sym),
66            cuestECPIntPlanCreate: get_symbol(&libs, b"cuestECPIntPlanCreate\0").map(|sym| *sym),
67            cuestECPIntPlanCreateWorkspaceQuery: get_symbol(
68                &libs,
69                b"cuestECPIntPlanCreateWorkspaceQuery\0",
70            )
71            .map(|sym| *sym),
72            cuestECPIntPlanDestroy: get_symbol(&libs, b"cuestECPIntPlanDestroy\0").map(|sym| *sym),
73            cuestOEIntPlanCreate: get_symbol(&libs, b"cuestOEIntPlanCreate\0").map(|sym| *sym),
74            cuestOEIntPlanCreateWorkspaceQuery: get_symbol(
75                &libs,
76                b"cuestOEIntPlanCreateWorkspaceQuery\0",
77            )
78            .map(|sym| *sym),
79            cuestOEIntPlanDestroy: get_symbol(&libs, b"cuestOEIntPlanDestroy\0").map(|sym| *sym),
80            cuestDFIntPlanCreate: get_symbol(&libs, b"cuestDFIntPlanCreate\0").map(|sym| *sym),
81            cuestDFIntPlanCreateWorkspaceQuery: get_symbol(
82                &libs,
83                b"cuestDFIntPlanCreateWorkspaceQuery\0",
84            )
85            .map(|sym| *sym),
86            cuestDFIntPlanDestroy: get_symbol(&libs, b"cuestDFIntPlanDestroy\0").map(|sym| *sym),
87            cuestOverlapCompute: get_symbol(&libs, b"cuestOverlapCompute\0").map(|sym| *sym),
88            cuestOverlapComputeWorkspaceQuery: get_symbol(
89                &libs,
90                b"cuestOverlapComputeWorkspaceQuery\0",
91            )
92            .map(|sym| *sym),
93            cuestOverlapDerivativeCompute: get_symbol(&libs, b"cuestOverlapDerivativeCompute\0")
94                .map(|sym| *sym),
95            cuestOverlapDerivativeComputeWorkspaceQuery: get_symbol(
96                &libs,
97                b"cuestOverlapDerivativeComputeWorkspaceQuery\0",
98            )
99            .map(|sym| *sym),
100            cuestKineticCompute: get_symbol(&libs, b"cuestKineticCompute\0").map(|sym| *sym),
101            cuestKineticComputeWorkspaceQuery: get_symbol(
102                &libs,
103                b"cuestKineticComputeWorkspaceQuery\0",
104            )
105            .map(|sym| *sym),
106            cuestKineticDerivativeCompute: get_symbol(&libs, b"cuestKineticDerivativeCompute\0")
107                .map(|sym| *sym),
108            cuestKineticDerivativeComputeWorkspaceQuery: get_symbol(
109                &libs,
110                b"cuestKineticDerivativeComputeWorkspaceQuery\0",
111            )
112            .map(|sym| *sym),
113            cuestMultipoleCompute: get_symbol(&libs, b"cuestMultipoleCompute\0").map(|sym| *sym),
114            cuestMultipoleComputeWorkspaceQuery: get_symbol(
115                &libs,
116                b"cuestMultipoleComputeWorkspaceQuery\0",
117            )
118            .map(|sym| *sym),
119            cuestMultipoleDerivativeCompute: get_symbol(
120                &libs,
121                b"cuestMultipoleDerivativeCompute\0",
122            )
123            .map(|sym| *sym),
124            cuestMultipoleDerivativeComputeWorkspaceQuery: get_symbol(
125                &libs,
126                b"cuestMultipoleDerivativeComputeWorkspaceQuery\0",
127            )
128            .map(|sym| *sym),
129            cuestAngularMomentumCompute: get_symbol(&libs, b"cuestAngularMomentumCompute\0")
130                .map(|sym| *sym),
131            cuestAngularMomentumComputeWorkspaceQuery: get_symbol(
132                &libs,
133                b"cuestAngularMomentumComputeWorkspaceQuery\0",
134            )
135            .map(|sym| *sym),
136            cuestAngularMomentumDerivativeCompute: get_symbol(
137                &libs,
138                b"cuestAngularMomentumDerivativeCompute\0",
139            )
140            .map(|sym| *sym),
141            cuestAngularMomentumDerivativeComputeWorkspaceQuery: get_symbol(
142                &libs,
143                b"cuestAngularMomentumDerivativeComputeWorkspaceQuery\0",
144            )
145            .map(|sym| *sym),
146            cuestNablaCompute: get_symbol(&libs, b"cuestNablaCompute\0").map(|sym| *sym),
147            cuestNablaComputeWorkspaceQuery: get_symbol(
148                &libs,
149                b"cuestNablaComputeWorkspaceQuery\0",
150            )
151            .map(|sym| *sym),
152            cuestNablaDerivativeCompute: get_symbol(&libs, b"cuestNablaDerivativeCompute\0")
153                .map(|sym| *sym),
154            cuestNablaDerivativeComputeWorkspaceQuery: get_symbol(
155                &libs,
156                b"cuestNablaDerivativeComputeWorkspaceQuery\0",
157            )
158            .map(|sym| *sym),
159            cuestPotentialCompute: get_symbol(&libs, b"cuestPotentialCompute\0").map(|sym| *sym),
160            cuestPotentialComputeWorkspaceQuery: get_symbol(
161                &libs,
162                b"cuestPotentialComputeWorkspaceQuery\0",
163            )
164            .map(|sym| *sym),
165            cuestPotentialDerivativeCompute: get_symbol(
166                &libs,
167                b"cuestPotentialDerivativeCompute\0",
168            )
169            .map(|sym| *sym),
170            cuestPotentialDerivativeComputeWorkspaceQuery: get_symbol(
171                &libs,
172                b"cuestPotentialDerivativeComputeWorkspaceQuery\0",
173            )
174            .map(|sym| *sym),
175            cuestDFCoulombCompute: get_symbol(&libs, b"cuestDFCoulombCompute\0").map(|sym| *sym),
176            cuestDFCoulombComputeWorkspaceQuery: get_symbol(
177                &libs,
178                b"cuestDFCoulombComputeWorkspaceQuery\0",
179            )
180            .map(|sym| *sym),
181            cuestDFSymmetricExchangeCompute: get_symbol(
182                &libs,
183                b"cuestDFSymmetricExchangeCompute\0",
184            )
185            .map(|sym| *sym),
186            cuestDFSymmetricExchangeComputeWorkspaceQuery: get_symbol(
187                &libs,
188                b"cuestDFSymmetricExchangeComputeWorkspaceQuery\0",
189            )
190            .map(|sym| *sym),
191            cuestDFNonsymmetricExchangeCompute: get_symbol(
192                &libs,
193                b"cuestDFNonsymmetricExchangeCompute\0",
194            )
195            .map(|sym| *sym),
196            cuestDFNonsymmetricExchangeComputeWorkspaceQuery: get_symbol(
197                &libs,
198                b"cuestDFNonsymmetricExchangeComputeWorkspaceQuery\0",
199            )
200            .map(|sym| *sym),
201            cuestDFSymmetricDerivativeCompute: get_symbol(
202                &libs,
203                b"cuestDFSymmetricDerivativeCompute\0",
204            )
205            .map(|sym| *sym),
206            cuestDFSymmetricDerivativeComputeWorkspaceQuery: get_symbol(
207                &libs,
208                b"cuestDFSymmetricDerivativeComputeWorkspaceQuery\0",
209            )
210            .map(|sym| *sym),
211            cuestDFMOIntegralsCompute: get_symbol(&libs, b"cuestDFMOIntegralsCompute\0")
212                .map(|sym| *sym),
213            cuestDFMOIntegralsComputeWorkspaceQuery: get_symbol(
214                &libs,
215                b"cuestDFMOIntegralsComputeWorkspaceQuery\0",
216            )
217            .map(|sym| *sym),
218            cuestAtomGridCreate: get_symbol(&libs, b"cuestAtomGridCreate\0").map(|sym| *sym),
219            cuestAtomGridDestroy: get_symbol(&libs, b"cuestAtomGridDestroy\0").map(|sym| *sym),
220            cuestMolecularGridCreate: get_symbol(&libs, b"cuestMolecularGridCreate\0")
221                .map(|sym| *sym),
222            cuestMolecularGridCreateWorkspaceQuery: get_symbol(
223                &libs,
224                b"cuestMolecularGridCreateWorkspaceQuery\0",
225            )
226            .map(|sym| *sym),
227            cuestMolecularGridDestroy: get_symbol(&libs, b"cuestMolecularGridDestroy\0")
228                .map(|sym| *sym),
229            cuestXCIntPlanCreate: get_symbol(&libs, b"cuestXCIntPlanCreate\0").map(|sym| *sym),
230            cuestXCIntPlanCreateWorkspaceQuery: get_symbol(
231                &libs,
232                b"cuestXCIntPlanCreateWorkspaceQuery\0",
233            )
234            .map(|sym| *sym),
235            cuestXCIntPlanDestroy: get_symbol(&libs, b"cuestXCIntPlanDestroy\0").map(|sym| *sym),
236            cuestXCIntegrationGridCompute: get_symbol(&libs, b"cuestXCIntegrationGridCompute\0")
237                .map(|sym| *sym),
238            cuestXCIntegrationGridComputeWorkspaceQuery: get_symbol(
239                &libs,
240                b"cuestXCIntegrationGridComputeWorkspaceQuery\0",
241            )
242            .map(|sym| *sym),
243            cuestXCIntegrationWeightCompute: get_symbol(
244                &libs,
245                b"cuestXCIntegrationWeightCompute\0",
246            )
247            .map(|sym| *sym),
248            cuestXCIntegrationWeightComputeWorkspaceQuery: get_symbol(
249                &libs,
250                b"cuestXCIntegrationWeightComputeWorkspaceQuery\0",
251            )
252            .map(|sym| *sym),
253            cuestXCPotentialRKSCompute: get_symbol(&libs, b"cuestXCPotentialRKSCompute\0")
254                .map(|sym| *sym),
255            cuestXCPotentialRKSComputeWorkspaceQuery: get_symbol(
256                &libs,
257                b"cuestXCPotentialRKSComputeWorkspaceQuery\0",
258            )
259            .map(|sym| *sym),
260            cuestXCPotentialUKSCompute: get_symbol(&libs, b"cuestXCPotentialUKSCompute\0")
261                .map(|sym| *sym),
262            cuestXCPotentialUKSComputeWorkspaceQuery: get_symbol(
263                &libs,
264                b"cuestXCPotentialUKSComputeWorkspaceQuery\0",
265            )
266            .map(|sym| *sym),
267            cuestXCDensityCompute: get_symbol(&libs, b"cuestXCDensityCompute\0").map(|sym| *sym),
268            cuestXCDensityComputeWorkspaceQuery: get_symbol(
269                &libs,
270                b"cuestXCDensityComputeWorkspaceQuery\0",
271            )
272            .map(|sym| *sym),
273            cuestXCPotentialCompute: get_symbol(&libs, b"cuestXCPotentialCompute\0")
274                .map(|sym| *sym),
275            cuestXCPotentialComputeWorkspaceQuery: get_symbol(
276                &libs,
277                b"cuestXCPotentialComputeWorkspaceQuery\0",
278            )
279            .map(|sym| *sym),
280            cuestXCNonsymmetricDensityCompute: get_symbol(
281                &libs,
282                b"cuestXCNonsymmetricDensityCompute\0",
283            )
284            .map(|sym| *sym),
285            cuestXCNonsymmetricDensityComputeWorkspaceQuery: get_symbol(
286                &libs,
287                b"cuestXCNonsymmetricDensityComputeWorkspaceQuery\0",
288            )
289            .map(|sym| *sym),
290            cuestXCDerivativeRKSCompute: get_symbol(&libs, b"cuestXCDerivativeRKSCompute\0")
291                .map(|sym| *sym),
292            cuestXCDerivativeRKSComputeWorkspaceQuery: get_symbol(
293                &libs,
294                b"cuestXCDerivativeRKSComputeWorkspaceQuery\0",
295            )
296            .map(|sym| *sym),
297            cuestXCDerivativeUKSCompute: get_symbol(&libs, b"cuestXCDerivativeUKSCompute\0")
298                .map(|sym| *sym),
299            cuestXCDerivativeUKSComputeWorkspaceQuery: get_symbol(
300                &libs,
301                b"cuestXCDerivativeUKSComputeWorkspaceQuery\0",
302            )
303            .map(|sym| *sym),
304            cuestXCDerivativeCompute: get_symbol(&libs, b"cuestXCDerivativeCompute\0")
305                .map(|sym| *sym),
306            cuestXCDerivativeComputeWorkspaceQuery: get_symbol(
307                &libs,
308                b"cuestXCDerivativeComputeWorkspaceQuery\0",
309            )
310            .map(|sym| *sym),
311            cuestXCGridDerivativeCompute: get_symbol(&libs, b"cuestXCGridDerivativeCompute\0")
312                .map(|sym| *sym),
313            cuestXCGridDerivativeComputeWorkspaceQuery: get_symbol(
314                &libs,
315                b"cuestXCGridDerivativeComputeWorkspaceQuery\0",
316            )
317            .map(|sym| *sym),
318            cuestXCNonsymmetricDerivativeCompute: get_symbol(
319                &libs,
320                b"cuestXCNonsymmetricDerivativeCompute\0",
321            )
322            .map(|sym| *sym),
323            cuestXCNonsymmetricDerivativeComputeWorkspaceQuery: get_symbol(
324                &libs,
325                b"cuestXCNonsymmetricDerivativeComputeWorkspaceQuery\0",
326            )
327            .map(|sym| *sym),
328            cuestNonlocalXCPotentialRKSCompute: get_symbol(
329                &libs,
330                b"cuestNonlocalXCPotentialRKSCompute\0",
331            )
332            .map(|sym| *sym),
333            cuestNonlocalXCPotentialRKSComputeWorkspaceQuery: get_symbol(
334                &libs,
335                b"cuestNonlocalXCPotentialRKSComputeWorkspaceQuery\0",
336            )
337            .map(|sym| *sym),
338            cuestNonlocalXCPotentialUKSCompute: get_symbol(
339                &libs,
340                b"cuestNonlocalXCPotentialUKSCompute\0",
341            )
342            .map(|sym| *sym),
343            cuestNonlocalXCPotentialUKSComputeWorkspaceQuery: get_symbol(
344                &libs,
345                b"cuestNonlocalXCPotentialUKSComputeWorkspaceQuery\0",
346            )
347            .map(|sym| *sym),
348            cuestNonlocalXCDerivativeRKSCompute: get_symbol(
349                &libs,
350                b"cuestNonlocalXCDerivativeRKSCompute\0",
351            )
352            .map(|sym| *sym),
353            cuestNonlocalXCDerivativeRKSComputeWorkspaceQuery: get_symbol(
354                &libs,
355                b"cuestNonlocalXCDerivativeRKSComputeWorkspaceQuery\0",
356            )
357            .map(|sym| *sym),
358            cuestNonlocalXCDerivativeUKSCompute: get_symbol(
359                &libs,
360                b"cuestNonlocalXCDerivativeUKSCompute\0",
361            )
362            .map(|sym| *sym),
363            cuestNonlocalXCDerivativeUKSComputeWorkspaceQuery: get_symbol(
364                &libs,
365                b"cuestNonlocalXCDerivativeUKSComputeWorkspaceQuery\0",
366            )
367            .map(|sym| *sym),
368            cuestPCMIntPlanCreate: get_symbol(&libs, b"cuestPCMIntPlanCreate\0").map(|sym| *sym),
369            cuestPCMIntPlanCreateWorkspaceQuery: get_symbol(
370                &libs,
371                b"cuestPCMIntPlanCreateWorkspaceQuery\0",
372            )
373            .map(|sym| *sym),
374            cuestPCMIntPlanDestroy: get_symbol(&libs, b"cuestPCMIntPlanDestroy\0").map(|sym| *sym),
375            cuestPCMPotentialCompute: get_symbol(&libs, b"cuestPCMPotentialCompute\0")
376                .map(|sym| *sym),
377            cuestPCMPotentialComputeWorkspaceQuery: get_symbol(
378                &libs,
379                b"cuestPCMPotentialComputeWorkspaceQuery\0",
380            )
381            .map(|sym| *sym),
382            cuestPCMDerivativeCompute: get_symbol(&libs, b"cuestPCMDerivativeCompute\0")
383                .map(|sym| *sym),
384            cuestPCMDerivativeComputeWorkspaceQuery: get_symbol(
385                &libs,
386                b"cuestPCMDerivativeComputeWorkspaceQuery\0",
387            )
388            .map(|sym| *sym),
389            cuestPCMRadiiDerivativeCompute: get_symbol(&libs, b"cuestPCMRadiiDerivativeCompute\0")
390                .map(|sym| *sym),
391            cuestPCMRadiiDerivativeComputeWorkspaceQuery: get_symbol(
392                &libs,
393                b"cuestPCMRadiiDerivativeComputeWorkspaceQuery\0",
394            )
395            .map(|sym| *sym),
396            cuestPCMIntegrationGridCompute: get_symbol(&libs, b"cuestPCMIntegrationGridCompute\0")
397                .map(|sym| *sym),
398            cuestPCMIntegrationGridComputeWorkspaceQuery: get_symbol(
399                &libs,
400                b"cuestPCMIntegrationGridComputeWorkspaceQuery\0",
401            )
402            .map(|sym| *sym),
403            cuestPCMIntegrationWeightCompute: get_symbol(
404                &libs,
405                b"cuestPCMIntegrationWeightCompute\0",
406            )
407            .map(|sym| *sym),
408            cuestPCMIntegrationWeightComputeWorkspaceQuery: get_symbol(
409                &libs,
410                b"cuestPCMIntegrationWeightComputeWorkspaceQuery\0",
411            )
412            .map(|sym| *sym),
413            cuestQuery: get_symbol(&libs, b"cuestQuery\0").map(|sym| *sym),
414            cuestResultsCreate: get_symbol(&libs, b"cuestResultsCreate\0").map(|sym| *sym),
415            cuestResultsDestroy: get_symbol(&libs, b"cuestResultsDestroy\0").map(|sym| *sym),
416            cuestResultsQuery: get_symbol(&libs, b"cuestResultsQuery\0").map(|sym| *sym),
417            cuestParametersCreate: get_symbol(&libs, b"cuestParametersCreate\0").map(|sym| *sym),
418            cuestParametersDestroy: get_symbol(&libs, b"cuestParametersDestroy\0").map(|sym| *sym),
419            cuestParametersQuery: get_symbol(&libs, b"cuestParametersQuery\0").map(|sym| *sym),
420            cuestParametersConfigure: get_symbol(&libs, b"cuestParametersConfigure\0")
421                .map(|sym| *sym),
422        };
423        result.__libraries = libs;
424        result.__libraries_path = libs_path;
425        result
426    }
427}