Closed ischoegl closed 3 months ago
Attention: Patch coverage is 40.00000%
with 3 lines
in your changes missing coverage. Please review.
Project coverage is 73.12%. Comparing base (
9d0e54a
) to head (f8dc0ab
).
Files | Patch % | Lines |
---|---|---|
src/clib/ct.cpp | 25.00% | 3 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
What level of compatibility are we trying to maintain for the clib API between Cantera 3.0 and 3.1? So far, I think most of the changes have been consistent with what we do in the Python / C++ interface where user code should continue to work as long as it wasn't using any functions that were deprecated in Cantera 3.0. However, I'd also be OK with adopting a less conservative approach for clib to enable more rapid improvements.
What level of compatibility are we trying to maintain for the clib API between Cantera 3.0 and 3.1? So far, I think most of the changes have been consistent with what we do in the Python / C++ interface where user code should continue to work as long as it wasn't using any functions that were deprecated in Cantera 3.0. However, I'd also be OK with adopting a less conservative approach for clib to enable more rapid improvements.
Good question. With the legacy MATLAB toolbox gone, I believe that all of the remaining API's are de-facto "experimental" (.NET is unfinished and Fortran only captures a small subset of features). We can certainly include placeholders so symbols are still in place, but at the same time breaking changes may be a feature. Specifically, I think it's dangerous to use the 3.1 version of the experimental MATLAB toolbox with a 3.0 clib
(or, more realistically, a 3.0 experimental toolbox with 3.1 clib
). Until we have non-experimental API's that run through clib
, I believe we should be able to cycle more rapidly. Changes in this PR are one case in point: the old clib
was inconsistent, so specialized calls were necessary for a handful of methods that didn't fit the norm.
Changes proposed in this pull request
clib
functions use inconsistent string handling, i.e.ct_getDataDirectories
andthermo_report
ct_getDataDirectories3
andthermo_report3
that have buffer length and char buffer in last two positions.The change ensures that a single helper function
ctString.m
can be used as the interface to pass strings from C++ to MATLAB.If applicable, provide an example illustrating new features this pull request is introducing
Experimental MATLAB now shows compact report (suppressing minor species):
Checklist
scons build
&scons test
) and unit tests address code coverage