Skip to content

Commit

Permalink
Removed void * to a pointer unique to class
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicholaswogan committed May 30, 2024
1 parent 2b3b266 commit 6346e45
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 32 deletions.
2 changes: 1 addition & 1 deletion equilibrate/cython/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ add_library(_equilibrate MODULE ${_equilibrate})
python_extension_module(_equilibrate)

target_link_libraries(_equilibrate equilibrate_c_api)
target_include_directories(_equilibrate PUBLIC ${NumPy_INCLUDE_DIRS})
target_include_directories(_equilibrate PUBLIC ${NumPy_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR})
set_property(TARGET _equilibrate PROPERTY LINKER_LANGUAGE Fortran)
64 changes: 34 additions & 30 deletions equilibrate/cython/ChemEquiAnalysis_pxd.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -2,58 +2,62 @@ from libcpp cimport bool as cbool
cdef extern from "<stdbool.h>":
pass

cdef extern from "_equilibrate.h":
struct ChemEquiAnalysis:
pass

# Allocate and destroy
cdef extern void *allocate_chemequianalysis();
cdef extern void deallocate_chemequianalysis(void *ptr);
cdef extern ChemEquiAnalysis *allocate_chemequianalysis();
cdef extern void deallocate_chemequianalysis(ChemEquiAnalysis *ptr);

# Wrappers for functions

cdef extern void chemequianalysis_create_wrapper(void *ptr, char *thermofile,
cdef extern void chemequianalysis_create_wrapper(ChemEquiAnalysis *ptr, char *thermofile,
cbool *atoms_present, int *atoms_dim, char *atoms,
cbool *species_present, int *species_dim, char *species,
char *err);
cdef extern void chemequianalysis_solve_wrapper(void *ptr, double *P, double *T,
cdef extern void chemequianalysis_solve_wrapper(ChemEquiAnalysis *ptr, double *P, double *T,
cbool *molfracs_atoms_present, int *molfracs_atoms_dim, double *molfracs_atoms,
cbool *molfracs_species_present, int *molfracs_species_dim, double *molfracs_species,
cbool *converged, char *err)

# Getters and setters

cdef extern void chemequianalysis_atoms_names_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_atoms_names_get(void *ptr, int *dim1, char* arr)
cdef extern void chemequianalysis_atoms_names_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_atoms_names_get(ChemEquiAnalysis *ptr, int *dim1, char* arr)

cdef extern void chemequianalysis_species_names_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_species_names_get(void *ptr, int *dim1, char* arr)
cdef extern void chemequianalysis_species_names_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_species_names_get(ChemEquiAnalysis *ptr, int *dim1, char* arr)

cdef extern void chemequianalysis_gas_names_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_gas_names_get(void *ptr, int *dim1, char* arr)
cdef extern void chemequianalysis_gas_names_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_gas_names_get(ChemEquiAnalysis *ptr, int *dim1, char* arr)

cdef extern void chemequianalysis_condensate_names_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_condensate_names_get(void *ptr, int *dim1, char* arr)
cdef extern void chemequianalysis_condensate_names_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_condensate_names_get(ChemEquiAnalysis *ptr, int *dim1, char* arr)

cdef extern void chemequianalysis_molfracs_atoms_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_atoms_get(void *ptr, int *dim1, double *arr)
cdef extern void chemequianalysis_molfracs_atoms_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_atoms_get(ChemEquiAnalysis *ptr, int *dim1, double *arr)

cdef extern void chemequianalysis_molfracs_species_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_species_get(void *ptr, int *dim1, double *arr)
cdef extern void chemequianalysis_molfracs_species_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_species_get(ChemEquiAnalysis *ptr, int *dim1, double *arr)

cdef extern void chemequianalysis_massfracs_species_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_massfracs_species_get(void *ptr, int *dim1, double *arr)
cdef extern void chemequianalysis_massfracs_species_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_massfracs_species_get(ChemEquiAnalysis *ptr, int *dim1, double *arr)

cdef extern void chemequianalysis_molfracs_atoms_gas_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_atoms_gas_get(void *ptr, int *dim1, double *arr)
cdef extern void chemequianalysis_molfracs_atoms_gas_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_atoms_gas_get(ChemEquiAnalysis *ptr, int *dim1, double *arr)

cdef extern void chemequianalysis_molfracs_species_gas_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_species_gas_get(void *ptr, int *dim1, double *arr)
cdef extern void chemequianalysis_molfracs_species_gas_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_species_gas_get(ChemEquiAnalysis *ptr, int *dim1, double *arr)

cdef extern void chemequianalysis_molfracs_atoms_condensate_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_atoms_condensate_get(void *ptr, int *dim1, double *arr)
cdef extern void chemequianalysis_molfracs_atoms_condensate_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_atoms_condensate_get(ChemEquiAnalysis *ptr, int *dim1, double *arr)

cdef extern void chemequianalysis_molfracs_species_condensate_get_size(void *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_species_condensate_get(void *ptr, int *dim1, double *arr)
cdef extern void chemequianalysis_molfracs_species_condensate_get_size(ChemEquiAnalysis *ptr, int *dim1)
cdef extern void chemequianalysis_molfracs_species_condensate_get(ChemEquiAnalysis *ptr, int *dim1, double *arr)

cdef extern void chemequianalysis_verbose_get(void *ptr, cbool *val)
cdef extern void chemequianalysis_verbose_set(void *ptr, cbool *val)
cdef extern void chemequianalysis_verbose_get(ChemEquiAnalysis *ptr, cbool *val)
cdef extern void chemequianalysis_verbose_set(ChemEquiAnalysis *ptr, cbool *val)

cdef extern void chemequianalysis_mass_tol_get(void *ptr, double *val)
cdef extern void chemequianalysis_mass_tol_set(void *ptr, double *val)
cdef extern void chemequianalysis_mass_tol_get(ChemEquiAnalysis *ptr, double *val)
cdef extern void chemequianalysis_mass_tol_set(ChemEquiAnalysis *ptr, double *val)
1 change: 1 addition & 0 deletions equilibrate/cython/_equilibrate.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
struct ChemEquiAnalysis{};
2 changes: 1 addition & 1 deletion equilibrate/cython/_equilibrate.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ DEF ERR_LEN = 1024;

cdef class ChemEquiAnalysis:

cdef void *_ptr
cdef cea_pxd.ChemEquiAnalysis *_ptr
cdef cbool _init_called

def __cinit__(self, thermofile = None, atoms = None, species = None):
Expand Down

0 comments on commit 6346e45

Please sign in to comment.