Skip to content

Commit

Permalink
[Cython] Update function names for AnyMap conversions
Browse files Browse the repository at this point in the history
  • Loading branch information
speth authored and ischoegl committed Apr 18, 2023
1 parent 4b88a20 commit 8ff7a71
Show file tree
Hide file tree
Showing 12 changed files with 59 additions and 59 deletions.
6 changes: 3 additions & 3 deletions interfaces/cython/cantera/_onedim.pyx
Expand Up @@ -5,7 +5,7 @@ from .interrupts import no_op
import warnings
import numpy as np

from ._utils cimport stringify, pystr, anymap_to_dict
from ._utils cimport stringify, pystr, anymap_to_py
from ._utils import CanteraError
from cython.operator import dereference as deref

Expand Down Expand Up @@ -298,7 +298,7 @@ cdef class Domain1D:
def __get__(self):
cdef shared_ptr[CxxSolutionArray] arr
arr = self.domain.toArray(False)
return anymap_to_dict(arr.get().meta())
return anymap_to_py(arr.get().meta())


cdef class Boundary1D(Domain1D):
Expand Down Expand Up @@ -1588,7 +1588,7 @@ cdef class Sim1D:
cdef CxxAnyMap header
header = self.sim.restore(stringify(str(filename)), stringify(name))
self._initialized = True
return anymap_to_dict(header)
return anymap_to_py(header)

def restore_time_stepping_solution(self):
"""
Expand Down
4 changes: 2 additions & 2 deletions interfaces/cython/cantera/_utils.pxd
Expand Up @@ -98,8 +98,8 @@ cdef pystr(string x)
cdef comp_map_to_dict(Composition m)
cdef Composition comp_map(X) except *

cdef CxxAnyMap dict_to_anymap(data, cbool hyphenize=*) except *
cdef anymap_to_dict(CxxAnyMap& m)
cdef CxxAnyMap py_to_anymap(data, cbool hyphenize=*) except *
cdef anymap_to_py(CxxAnyMap& m)

cdef CxxAnyValue python_to_anyvalue(item, name=*) except *
cdef anyvalue_to_python(string name, CxxAnyValue& v)
12 changes: 6 additions & 6 deletions interfaces/cython/cantera/_utils.pyx
Expand Up @@ -187,9 +187,9 @@ cdef anyvalue_to_python(string name, CxxAnyValue& v):
"from AnyValue of held type '{}'".format(
pystr(name), v.type_str()))
elif v.isType[CxxAnyMap]():
return anymap_to_dict(v.asType[CxxAnyMap]())
return anymap_to_py(v.asType[CxxAnyMap]())
elif v.isType[vector[CxxAnyMap]]():
return [anymap_to_dict(a) for a in v.asType[vector[CxxAnyMap]]()]
return [anymap_to_py(a) for a in v.asType[vector[CxxAnyMap]]()]
elif v.isType[vector[double]]():
return v.asType[vector[double]]()
elif v.isType[vector[string]]():
Expand All @@ -216,7 +216,7 @@ cdef anyvalue_to_python(string name, CxxAnyValue& v):
pystr(name), v.type_str()))


cdef anymap_to_dict(CxxAnyMap& m):
cdef anymap_to_py(CxxAnyMap& m):
cdef pair[string,CxxAnyValue] item
m.applyUnits()
cdef AnyMap out = AnyMap()
Expand All @@ -226,7 +226,7 @@ cdef anymap_to_dict(CxxAnyMap& m):
return out


cdef CxxAnyMap dict_to_anymap(data, cbool hyphenize=False) except *:
cdef CxxAnyMap py_to_anymap(data, cbool hyphenize=False) except *:
cdef CxxAnyMap m
if hyphenize:
# replace "_" by "-": while Python dictionaries typically use "_" in key names,
Expand Down Expand Up @@ -304,7 +304,7 @@ cdef get_types(item):
cdef CxxAnyValue python_to_anyvalue(item, name=None) except *:
cdef CxxAnyValue v
if isinstance(item, dict):
v = dict_to_anymap(item)
v = py_to_anymap(item)
elif isinstance(item, (list, tuple, set, np.ndarray)):
itype, ndim = get_types(item)
if ndim == 1:
Expand Down Expand Up @@ -398,7 +398,7 @@ cdef vector[CxxAnyMap] list_dict_to_anyvalue(data) except *:
v.resize(len(data))
cdef size_t i
for i, item in enumerate(data):
v[i] = dict_to_anymap(item)
v[i] = py_to_anymap(item)
return v

cdef vector[vector[double]] list2_double_to_anyvalue(data):
Expand Down
4 changes: 2 additions & 2 deletions interfaces/cython/cantera/delegator.pyx
Expand Up @@ -9,7 +9,7 @@ from libc.stdlib cimport malloc
from libc.string cimport strcpy

from ._utils import CanteraError
from ._utils cimport stringify, pystr, anymap_to_dict
from ._utils cimport stringify, pystr, anymap_to_py
from .units cimport Units
# from .reaction import ExtensibleRate, ExtensibleRateData
from .reaction cimport (ExtensibleRate, ExtensibleRateData, CxxReaction,
Expand Down Expand Up @@ -115,7 +115,7 @@ cdef void callback_v_b(PyFuncInfo& funcInfo, cbool arg) noexcept:
cdef void callback_v_cAMr_cUSr(PyFuncInfo& funcInfo, const CxxAnyMap& arg1,
const CxxUnitStack& arg2) noexcept:

pyArg1 = anymap_to_dict(<CxxAnyMap&>arg1) # cast away constness
pyArg1 = anymap_to_py(<CxxAnyMap&>arg1) # cast away constness
pyArg2 = Units.copy(arg2.product())
try:
(<object>funcInfo.func())(pyArg1, pyArg2)
Expand Down
4 changes: 2 additions & 2 deletions interfaces/cython/cantera/kinetics.pyx
Expand Up @@ -443,9 +443,9 @@ cdef class Kinetics(_SolutionBase):
def __get__(self):
cdef CxxAnyMap settings
self.kinetics.getDerivativeSettings(settings)
return anymap_to_dict(settings)
return anymap_to_py(settings)
def __set__(self, settings):
self.kinetics.setDerivativeSettings(dict_to_anymap(settings))
self.kinetics.setDerivativeSettings(py_to_anymap(settings))

property forward_rate_constants_ddT:
"""
Expand Down
2 changes: 1 addition & 1 deletion interfaces/cython/cantera/preconditioners.pyx
@@ -1,7 +1,7 @@
# This file is part of Cantera. See License.txt in the top-level directory or
# at https://cantera.org/license.txt for license and copyright information.

from ._utils cimport stringify, pystr, dict_to_anymap, anymap_to_dict
from ._utils cimport stringify, pystr, py_to_anymap, anymap_to_py
from .kinetics cimport get_from_sparse

cdef class PreconditionerBase:
Expand Down
44 changes: 22 additions & 22 deletions interfaces/cython/cantera/reaction.pyx
Expand Up @@ -94,7 +94,7 @@ cdef class ReactionRate:
f"Class method 'from_dict' was invoked from '{cls.__name__}' but "
"should be called from base class 'ReactionRate'")

cdef CxxAnyMap any_map = dict_to_anymap(data, hyphenize=hyphenize)
cdef CxxAnyMap any_map = py_to_anymap(data, hyphenize=hyphenize)
cxx_rate = CxxNewReactionRate(any_map)
return ReactionRate.wrap(cxx_rate)

Expand Down Expand Up @@ -129,7 +129,7 @@ cdef class ReactionRate:
Get input data for this reaction rate with its current parameter values.
"""
def __get__(self):
return anymap_to_dict(self.rate.parameters())
return anymap_to_py(self.rate.parameters())


cdef class ArrheniusRateBase(ReactionRate):
Expand Down Expand Up @@ -222,7 +222,7 @@ cdef class ArrheniusRate(ArrheniusRateBase):
self._cinit(input_data, A=A, b=b, Ea=Ea)

def _from_dict(self, input_data):
self._rate.reset(new CxxArrheniusRate(dict_to_anymap(input_data)))
self._rate.reset(new CxxArrheniusRate(py_to_anymap(input_data)))

def _from_parameters(self, A, b, Ea):
self._rate.reset(new CxxArrheniusRate(A, b, Ea))
Expand All @@ -249,7 +249,7 @@ cdef class BlowersMaselRate(ArrheniusRateBase):
self._cinit(input_data, A=A, b=b, Ea0=Ea0, w=w)

def _from_dict(self, input_data):
self._rate.reset(new CxxBlowersMaselRate(dict_to_anymap(input_data)))
self._rate.reset(new CxxBlowersMaselRate(py_to_anymap(input_data)))

def _from_parameters(self, A, b, Ea0, w):
self._rate.reset(new CxxBlowersMaselRate(A, b, Ea0, w))
Expand Down Expand Up @@ -323,7 +323,7 @@ cdef class TwoTempPlasmaRate(ArrheniusRateBase):

def _from_dict(self, input_data):
self._rate.reset(
new CxxTwoTempPlasmaRate(dict_to_anymap(input_data, hyphenize=True))
new CxxTwoTempPlasmaRate(py_to_anymap(input_data, hyphenize=True))
)

def _from_parameters(self, A, b, Ea_gas, Ea_electron):
Expand Down Expand Up @@ -450,7 +450,7 @@ cdef class LindemannRate(FalloffRate):

def _from_dict(self, input_data):
self._rate.reset(
new CxxLindemannRate(dict_to_anymap(input_data, hyphenize=True))
new CxxLindemannRate(py_to_anymap(input_data, hyphenize=True))
)

cdef set_cxx_object(self):
Expand All @@ -470,7 +470,7 @@ cdef class TroeRate(FalloffRate):

def _from_dict(self, input_data):
self._rate.reset(
new CxxTroeRate(dict_to_anymap(input_data, hyphenize=True))
new CxxTroeRate(py_to_anymap(input_data, hyphenize=True))
)

cdef set_cxx_object(self):
Expand All @@ -490,7 +490,7 @@ cdef class SriRate(FalloffRate):

def _from_dict(self, input_data):
self._rate.reset(
new CxxSriRate(dict_to_anymap(input_data, hyphenize=True))
new CxxSriRate(py_to_anymap(input_data, hyphenize=True))
)

cdef set_cxx_object(self):
Expand All @@ -506,7 +506,7 @@ cdef class TsangRate(FalloffRate):

def _from_dict(self, input_data):
self._rate.reset(
new CxxTsangRate(dict_to_anymap(input_data, hyphenize=True))
new CxxTsangRate(py_to_anymap(input_data, hyphenize=True))
)

cdef set_cxx_object(self):
Expand All @@ -528,9 +528,9 @@ cdef class PlogRate(ReactionRate):

elif init:
if isinstance(input_data, dict):
self._rate.reset(new CxxPlogRate(dict_to_anymap(input_data)))
self._rate.reset(new CxxPlogRate(py_to_anymap(input_data)))
elif rates is None:
self._rate.reset(new CxxPlogRate(dict_to_anymap({})))
self._rate.reset(new CxxPlogRate(py_to_anymap({})))
elif input_data:
raise TypeError("Invalid parameter 'input_data'")
else:
Expand Down Expand Up @@ -585,7 +585,7 @@ cdef class ChebyshevRate(ReactionRate):

if init:
if isinstance(input_data, dict):
self._rate.reset(new CxxChebyshevRate(dict_to_anymap(input_data)))
self._rate.reset(new CxxChebyshevRate(py_to_anymap(input_data)))
elif all([arg is not None
for arg in [temperature_range, pressure_range, data]]):
Tmin = temperature_range[0]
Expand All @@ -596,7 +596,7 @@ cdef class ChebyshevRate(ReactionRate):
new CxxChebyshevRate(Tmin, Tmax, Pmin, Pmax, self._cxxarray2d(data)))
elif all([arg is None
for arg in [temperature_range, pressure_range, data, input_data]]):
self._rate.reset(new CxxChebyshevRate(dict_to_anymap({})))
self._rate.reset(new CxxChebyshevRate(py_to_anymap({})))
elif input_data:
raise TypeError("Invalid parameter 'input_data'")
else:
Expand Down Expand Up @@ -833,9 +833,9 @@ cdef class InterfaceRateBase(ArrheniusRateBase):
def __get__(self):
cdef CxxAnyMap cxx_deps
self.interface.getCoverageDependencies(cxx_deps)
return anymap_to_dict(cxx_deps)
return anymap_to_py(cxx_deps)
def __set__(self, deps):
cdef CxxAnyMap cxx_deps = dict_to_anymap(deps)
cdef CxxAnyMap cxx_deps = py_to_anymap(deps)

self.interface.setCoverageDependencies(cxx_deps)

Expand Down Expand Up @@ -893,7 +893,7 @@ cdef class InterfaceArrheniusRate(InterfaceRateBase):
self._cinit(input_data, A=A, b=b, Ea=Ea)

def _from_dict(self, input_data):
self._rate.reset(new CxxInterfaceArrheniusRate(dict_to_anymap(input_data)))
self._rate.reset(new CxxInterfaceArrheniusRate(py_to_anymap(input_data)))

def _from_parameters(self, A, b, Ea):
self._rate.reset(new CxxInterfaceArrheniusRate(A, b, Ea))
Expand Down Expand Up @@ -921,7 +921,7 @@ cdef class InterfaceBlowersMaselRate(InterfaceRateBase):
self._cinit(input_data, A=A, b=b, Ea0=Ea0, w=w)

def _from_dict(self, input_data):
self._rate.reset(new CxxInterfaceBlowersMaselRate(dict_to_anymap(input_data)))
self._rate.reset(new CxxInterfaceBlowersMaselRate(py_to_anymap(input_data)))

def _from_parameters(self, A, b, Ea0, w):
self._rate.reset(new CxxInterfaceBlowersMaselRate(A, b, Ea0, w))
Expand Down Expand Up @@ -1031,7 +1031,7 @@ cdef class StickingArrheniusRate(StickRateBase):
self._cinit(input_data, A=A, b=b, Ea=Ea)

def _from_dict(self, input_data):
self._rate.reset(new CxxStickingArrheniusRate(dict_to_anymap(input_data)))
self._rate.reset(new CxxStickingArrheniusRate(py_to_anymap(input_data)))

def _from_parameters(self, A, b, Ea):
self._rate.reset(new CxxStickingArrheniusRate(A, b, Ea))
Expand All @@ -1058,7 +1058,7 @@ cdef class StickingBlowersMaselRate(StickRateBase):
self._cinit(input_data, A=A, b=b, Ea0=Ea0, w=w)

def _from_dict(self, input_data):
self._rate.reset(new CxxStickingBlowersMaselRate(dict_to_anymap(input_data)))
self._rate.reset(new CxxStickingBlowersMaselRate(py_to_anymap(input_data)))

def _from_parameters(self, A, b, Ea0, w):
self._rate.reset(new CxxStickingBlowersMaselRate(A, b, Ea0, w))
Expand Down Expand Up @@ -1354,7 +1354,7 @@ cdef class Reaction:
A `Kinetics` object whose associated phase(s) contain the species
involved in the reaction.
"""
cdef CxxAnyMap any_map = dict_to_anymap(data, hyphenize=hyphenize)
cdef CxxAnyMap any_map = py_to_anymap(data, hyphenize=hyphenize)
cxx_reaction = CxxNewReaction(any_map, deref(kinetics.kinetics))
return Reaction.wrap(cxx_reaction)

Expand Down Expand Up @@ -1549,15 +1549,15 @@ cdef class Reaction:
definition.
"""
def __get__(self):
return anymap_to_dict(self.reaction.parameters(True))
return anymap_to_py(self.reaction.parameters(True))

def update_user_data(self, data):
"""
Add the contents of the provided `dict` as additional fields when generating
YAML phase definition files with `Solution.write_yaml` or in the data returned
by `input_data`. Existing keys with matching names are overwritten.
"""
self.reaction.input.update(dict_to_anymap(data), False)
self.reaction.input.update(py_to_anymap(data), False)

def clear_user_data(self):
"""
Expand Down
6 changes: 3 additions & 3 deletions interfaces/cython/cantera/reactor.pyx
Expand Up @@ -7,7 +7,7 @@ import numbers as _numbers
from cython.operator cimport dereference as deref

from .thermo cimport *
from ._utils cimport pystr, stringify, comp_map, dict_to_anymap, anymap_to_dict
from ._utils cimport pystr, stringify, comp_map, py_to_anymap, anymap_to_py
from ._utils import *
from .delegator cimport *

Expand Down Expand Up @@ -1593,12 +1593,12 @@ cdef class ReactorNet:
def __get__(self):
cdef CxxAnyMap stats
stats = self.net.solverStats()
return anymap_to_dict(stats)
return anymap_to_py(stats)

property derivative_settings:
"""
Apply derivative settings to all reactors in the network.
See also `Kinetics.derivative_settings`.
"""
def __set__(self, settings):
self.net.setDerivativeSettings(dict_to_anymap(settings))
self.net.setDerivativeSettings(py_to_anymap(settings))

0 comments on commit 8ff7a71

Please sign in to comment.