@@ -22,6 +22,22 @@ class sphericart_solid_harmonics_calculator_f_t(ctypes.c_void_p):
2222 pass
2323
2424
25+ class sphericart_cuda_spherical_harmonics_calculator_t (ctypes .c_void_p ):
26+ pass
27+
28+
29+ class sphericart_cuda_spherical_harmonics_calculator_f_t (ctypes .c_void_p ):
30+ pass
31+
32+
33+ class sphericart_cuda_solid_harmonics_calculator_t (ctypes .c_void_p ):
34+ pass
35+
36+
37+ class sphericart_cuda_solid_harmonics_calculator_f_t (ctypes .c_void_p ):
38+ pass
39+
40+
2541def setup_functions (lib ):
2642 lib .sphericart_spherical_harmonics_new .restype = (
2743 sphericart_spherical_harmonics_calculator_t
@@ -221,6 +237,168 @@ def setup_functions(lib):
221237 sphericart_solid_harmonics_calculator_f_t ,
222238 ]
223239
240+ lib .sphericart_cuda_spherical_harmonics_new .restype = (
241+ sphericart_cuda_spherical_harmonics_calculator_t
242+ )
243+ lib .sphericart_cuda_spherical_harmonics_new .argtypes = [ctypes .c_size_t ]
244+
245+ lib .sphericart_cuda_spherical_harmonics_new_f .restype = (
246+ sphericart_cuda_spherical_harmonics_calculator_f_t
247+ )
248+ lib .sphericart_cuda_spherical_harmonics_new_f .argtypes = [ctypes .c_size_t ]
249+
250+ lib .sphericart_cuda_spherical_harmonics_delete .restype = None
251+ lib .sphericart_cuda_spherical_harmonics_delete .argtypes = [
252+ sphericart_cuda_spherical_harmonics_calculator_t
253+ ]
254+
255+ lib .sphericart_cuda_spherical_harmonics_delete_f .restype = None
256+ lib .sphericart_cuda_spherical_harmonics_delete_f .argtypes = [
257+ sphericart_cuda_spherical_harmonics_calculator_f_t
258+ ]
259+
260+ lib .sphericart_cuda_spherical_harmonics_compute_array .restype = None
261+ lib .sphericart_cuda_spherical_harmonics_compute_array .argtypes = [
262+ sphericart_cuda_spherical_harmonics_calculator_t ,
263+ ctypes .POINTER (ctypes .c_double ),
264+ ctypes .c_size_t ,
265+ ctypes .POINTER (ctypes .c_double ),
266+ ctypes .c_void_p ,
267+ ]
268+
269+ lib .sphericart_cuda_spherical_harmonics_compute_array_f .restype = None
270+ lib .sphericart_cuda_spherical_harmonics_compute_array_f .argtypes = [
271+ sphericart_cuda_spherical_harmonics_calculator_f_t ,
272+ ctypes .POINTER (ctypes .c_float ),
273+ ctypes .c_size_t ,
274+ ctypes .POINTER (ctypes .c_float ),
275+ ctypes .c_void_p ,
276+ ]
277+
278+ lib .sphericart_cuda_spherical_harmonics_compute_array_with_gradients .restype = None
279+ lib .sphericart_cuda_spherical_harmonics_compute_array_with_gradients .argtypes = [
280+ sphericart_cuda_spherical_harmonics_calculator_t ,
281+ ctypes .POINTER (ctypes .c_double ),
282+ ctypes .c_size_t ,
283+ ctypes .POINTER (ctypes .c_double ),
284+ ctypes .POINTER (ctypes .c_double ),
285+ ctypes .c_void_p ,
286+ ]
287+
288+ lib .sphericart_cuda_spherical_harmonics_compute_array_with_gradients_f .restype = (
289+ None
290+ )
291+ lib .sphericart_cuda_spherical_harmonics_compute_array_with_gradients_f .argtypes = [
292+ sphericart_cuda_spherical_harmonics_calculator_f_t ,
293+ ctypes .POINTER (ctypes .c_float ),
294+ ctypes .c_size_t ,
295+ ctypes .POINTER (ctypes .c_float ),
296+ ctypes .POINTER (ctypes .c_float ),
297+ ctypes .c_void_p ,
298+ ]
299+
300+ lib .sphericart_cuda_spherical_harmonics_compute_array_with_hessians .restype = None
301+ lib .sphericart_cuda_spherical_harmonics_compute_array_with_hessians .argtypes = [
302+ sphericart_cuda_spherical_harmonics_calculator_t ,
303+ ctypes .POINTER (ctypes .c_double ),
304+ ctypes .c_size_t ,
305+ ctypes .POINTER (ctypes .c_double ),
306+ ctypes .POINTER (ctypes .c_double ),
307+ ctypes .POINTER (ctypes .c_double ),
308+ ctypes .c_void_p ,
309+ ]
310+
311+ lib .sphericart_cuda_spherical_harmonics_compute_array_with_hessians_f .restype = None
312+ lib .sphericart_cuda_spherical_harmonics_compute_array_with_hessians_f .argtypes = [
313+ sphericart_cuda_spherical_harmonics_calculator_f_t ,
314+ ctypes .POINTER (ctypes .c_float ),
315+ ctypes .c_size_t ,
316+ ctypes .POINTER (ctypes .c_float ),
317+ ctypes .POINTER (ctypes .c_float ),
318+ ctypes .POINTER (ctypes .c_float ),
319+ ctypes .c_void_p ,
320+ ]
321+
322+ lib .sphericart_cuda_solid_harmonics_new .restype = (
323+ sphericart_cuda_solid_harmonics_calculator_t
324+ )
325+ lib .sphericart_cuda_solid_harmonics_new .argtypes = [ctypes .c_size_t ]
326+
327+ lib .sphericart_cuda_solid_harmonics_new_f .restype = (
328+ sphericart_cuda_solid_harmonics_calculator_f_t
329+ )
330+ lib .sphericart_cuda_solid_harmonics_new_f .argtypes = [ctypes .c_size_t ]
331+
332+ lib .sphericart_cuda_solid_harmonics_delete .restype = None
333+ lib .sphericart_cuda_solid_harmonics_delete .argtypes = [
334+ sphericart_cuda_solid_harmonics_calculator_t
335+ ]
336+
337+ lib .sphericart_cuda_solid_harmonics_delete_f .restype = None
338+ lib .sphericart_cuda_solid_harmonics_delete_f .argtypes = [
339+ sphericart_cuda_solid_harmonics_calculator_f_t
340+ ]
341+
342+ lib .sphericart_cuda_solid_harmonics_compute_array .restype = None
343+ lib .sphericart_cuda_solid_harmonics_compute_array .argtypes = [
344+ sphericart_cuda_solid_harmonics_calculator_t ,
345+ ctypes .POINTER (ctypes .c_double ),
346+ ctypes .c_size_t ,
347+ ctypes .POINTER (ctypes .c_double ),
348+ ctypes .c_void_p ,
349+ ]
350+
351+ lib .sphericart_cuda_solid_harmonics_compute_array_f .restype = None
352+ lib .sphericart_cuda_solid_harmonics_compute_array_f .argtypes = [
353+ sphericart_cuda_solid_harmonics_calculator_f_t ,
354+ ctypes .POINTER (ctypes .c_float ),
355+ ctypes .c_size_t ,
356+ ctypes .POINTER (ctypes .c_float ),
357+ ctypes .c_void_p ,
358+ ]
359+
360+ lib .sphericart_cuda_solid_harmonics_compute_array_with_gradients .restype = None
361+ lib .sphericart_cuda_solid_harmonics_compute_array_with_gradients .argtypes = [
362+ sphericart_cuda_solid_harmonics_calculator_t ,
363+ ctypes .POINTER (ctypes .c_double ),
364+ ctypes .c_size_t ,
365+ ctypes .POINTER (ctypes .c_double ),
366+ ctypes .POINTER (ctypes .c_double ),
367+ ctypes .c_void_p ,
368+ ]
369+
370+ lib .sphericart_cuda_solid_harmonics_compute_array_with_gradients_f .restype = None
371+ lib .sphericart_cuda_solid_harmonics_compute_array_with_gradients_f .argtypes = [
372+ sphericart_cuda_solid_harmonics_calculator_f_t ,
373+ ctypes .POINTER (ctypes .c_float ),
374+ ctypes .c_size_t ,
375+ ctypes .POINTER (ctypes .c_float ),
376+ ctypes .POINTER (ctypes .c_float ),
377+ ctypes .c_void_p ,
378+ ]
379+
380+ lib .sphericart_cuda_solid_harmonics_compute_array_with_hessians .restype = None
381+ lib .sphericart_cuda_solid_harmonics_compute_array_with_hessians .argtypes = [
382+ sphericart_cuda_solid_harmonics_calculator_t ,
383+ ctypes .POINTER (ctypes .c_double ),
384+ ctypes .c_size_t ,
385+ ctypes .POINTER (ctypes .c_double ),
386+ ctypes .POINTER (ctypes .c_double ),
387+ ctypes .POINTER (ctypes .c_double ),
388+ ctypes .c_void_p ,
389+ ]
390+
391+ lib .sphericart_cuda_solid_harmonics_compute_array_with_hessians_f .restype = None
392+ lib .sphericart_cuda_solid_harmonics_compute_array_with_hessians_f .argtypes = [
393+ sphericart_cuda_solid_harmonics_calculator_f_t ,
394+ ctypes .POINTER (ctypes .c_float ),
395+ ctypes .c_size_t ,
396+ ctypes .POINTER (ctypes .c_float ),
397+ ctypes .POINTER (ctypes .c_float ),
398+ ctypes .POINTER (ctypes .c_float ),
399+ ctypes .c_void_p ,
400+ ]
401+
224402
225403class LibraryFinder (object ):
226404 def __init__ (self ):
0 commit comments