Skip to content

Commit

Permalink
ENH: Added python module wrappers for C extensions.
Browse files Browse the repository at this point in the history
  • Loading branch information
MilanSkocic committed Jun 28, 2024
1 parent 035f6fe commit 06a9857
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 15 deletions.
6 changes: 3 additions & 3 deletions py/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,19 +108,19 @@

if __name__ == "__main__":

mod_g704 = Extension(name=f"py{name:s}.g704",
mod_g704 = Extension(name=f"py{name:s}.g704_",
sources=[f"./src/py{name:s}/cpy_{name:s}_g704.c"],
libraries=libraries,
library_dirs=library_dirs,
runtime_library_dirs=runtime_library_dirs,
extra_objects=extra_objects)
mod_r283 = Extension(name=f"py{name:s}.r283",
mod_r283 = Extension(name=f"py{name:s}.r283_",
sources=[f"./src/py{name:s}/cpy_{name:s}_r283.c"],
libraries=libraries,
library_dirs=library_dirs,
runtime_library_dirs=runtime_library_dirs,
extra_objects=extra_objects)
mod_r797 = Extension(name=f"py{name:s}.r797",
mod_r797 = Extension(name=f"py{name:s}.r797_",
sources=[f"./src/py{name:s}/cpy_{name:s}_r797.c"],
libraries=libraries,
library_dirs=library_dirs,
Expand Down
8 changes: 4 additions & 4 deletions py/src/pyiapws/cpy_iapws_g704.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,18 +166,18 @@ static PyMethodDef myMethods[] = {
};

// Our Module Definition struct
static struct PyModuleDef g704 = {
static struct PyModuleDef g704_ = {
PyModuleDef_HEAD_INIT,
"g704",
"g704_",
module_docstring,
-1,
myMethods
};

// Initializes our module using our above struct
PyMODINIT_FUNC PyInit_g704(void)
PyMODINIT_FUNC PyInit_g704_(void)
{
return PyModule_Create(&g704);
return PyModule_Create(&g704_);
}


8 changes: 4 additions & 4 deletions py/src/pyiapws/cpy_iapws_r283.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,22 @@ static PyMethodDef myMethods[] = {
};

// Our Module Definition struct
static struct PyModuleDef r283 = {
static struct PyModuleDef r283_ = {
PyModuleDef_HEAD_INIT,
"r283",
"r283_",
module_docstring,
-1,
myMethods
};

// Initializes our module using our above struct
PyMODINIT_FUNC PyInit_r283(void)
PyMODINIT_FUNC PyInit_r283_(void)
{
PyObject *m;
PyObject *d;
PyObject *v;

m = PyModule_Create(&r283);
m = PyModule_Create(&r283_);
d = PyModule_GetDict(m);

v = PyFloat_FromDouble(iapws_r283_Tc_H2O);
Expand Down
8 changes: 4 additions & 4 deletions py/src/pyiapws/cpy_iapws_r797.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,18 +116,18 @@ static PyMethodDef myMethods[] = {
};

// Our Module Definition struct
static struct PyModuleDef r797 = {
static struct PyModuleDef r797_ = {
PyModuleDef_HEAD_INIT,
"r797",
"r797_",
module_docstring,
-1,
myMethods
};

// Initializes our module using our above struct
PyMODINIT_FUNC PyInit_r797(void)
PyMODINIT_FUNC PyInit_r797_(void)
{
return PyModule_Create(&r797);
return PyModule_Create(&r797_);
}


25 changes: 25 additions & 0 deletions py/src/pyiapws/g704.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
"""IAPWS G704."""
import numpy as np
from . import g704_
from .g704_ import kd, gases, gases2, ngases


def kh(T: np.ndarray, gas: str, heavywater: bool = False):
"""
Get the Henry constant for gas in H2O or D2O for T.
If gas not found returns NaNs.
Parameters
----------
T: 1d-array of floats.
Temperature in °C.
gas: str
Gas.
heavywater: bool
Flag for indicating if solvent is heavywater (True) or water (False).
Default to False.
"""
return g704_.kh(T, gas, heavywater)



2 changes: 2 additions & 0 deletions py/src/pyiapws/r283.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"""IAPWS R283"""
from .r283_ import *
2 changes: 2 additions & 0 deletions py/src/pyiapws/r797.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"""IAPWS R797"""
from .r797_ import *

0 comments on commit 06a9857

Please sign in to comment.