Skip to content

Code generator: use different arrays for constants, computed constants, and algebraic variables #1247

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 108 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
fd05860
Python docstrings tests: don't test for CellmlElementType.
agarny Aug 5, 2024
0207ff9
Code generator: use different arrays for constants, computed constant…
agarny Jul 12, 2024
329b01f
Generator: use different arrays for constants, computed constants, an…
agarny Aug 7, 2024
56a8658
Generator: use different arrays for constants, computed constants, an…
agarny Aug 7, 2024
94515cc
Generator: use different arrays for constants, computed constants, an…
agarny Aug 7, 2024
8488c49
Generator: use different arrays for constants, computed constants, an…
agarny Aug 7, 2024
5287d5b
Generator: use computed_constants and not computedConstants in Python.
agarny Aug 7, 2024
82c104e
Generator profile: bumped the C and Python versions.
agarny Aug 7, 2024
0f8fbf3
Tests: automatically generate the expected file contents.
agarny Aug 8, 2024
c2504d7
Generator profile: added setters/getters for constants, computed cons…
agarny Aug 7, 2024
01bfdec
Analyser: track the constant, computed constant, and algebraic indexes.
agarny Aug 8, 2024
09fcc1f
Some minor cleaning up.
agarny Aug 8, 2024
a7c7774
Generator: added an external array.
agarny Aug 8, 2024
ef86447
Updated JavaScript tests.
agarny Aug 8, 2024
9d7174d
Analyser: keep track of computed constants and external variables for…
agarny Aug 8, 2024
60b26bc
Analyser: some minor cleaning up.
agarny Aug 8, 2024
05aa338
AnalyserModel: keep track of the constants, computed constants, and e…
agarny Aug 8, 2024
7c0d8a1
AnalyserEquation: keep track of states and constants.
agarny Aug 9, 2024
9f8bf25
Generator: generate the CONSTANT_INFO, COMPUTED_CONSTANT_INFO, ALGEBR…
agarny Aug 12, 2024
4bc05e8
Generator: don't need to mention the type of a variable in a XXX_INFO…
agarny Aug 14, 2024
330f6d6
GeneratorProfile: extracted generator profile_p.h.
agarny Aug 14, 2024
aaaeed3
Generator: updated the createXxxArray() methods.
agarny Aug 14, 2024
46e4e93
Generator: updated the signature of our initialiseVariables() method.
agarny Aug 15, 2024
fa807fb
GeneratorProfile: fixed a small issue with our Python profile.
agarny Aug 15, 2024
71ae73b
Generator: initialise things in initialiseVariables() in the order of…
agarny Aug 15, 2024
b1b7536
Generator: initialise all computed constants in computeComputedConsta…
agarny Aug 15, 2024
a46dbca
GeneratorProfile: added the external array string.
agarny Aug 16, 2024
0a05ef9
Generator: don't initialise our external variables in initialiseVaria…
agarny Aug 16, 2024
b514746
Analyser: a variable using an NLA should always be an algebraic varia…
agarny Aug 16, 2024
153b4b5
Analyser: some minor cleaning up.
agarny Aug 16, 2024
19126a8
Analyser: properly set the index of external variables.
agarny Aug 16, 2024
841c676
Analyser: put some struct/class definitions in a corresponding privat…
agarny Aug 16, 2024
8afeb5c
Analyser: simplified things.
agarny Aug 16, 2024
40d3fb4
Generator: make sure that constants are initialised when they are nee…
agarny Aug 17, 2024
b32d169
Generator: renamed the "external" array to "externals".
agarny Aug 19, 2024
8cba9cd
Generator: "initialise" computed constants in initialiseVariables().
agarny Aug 19, 2024
65e1d18
Generator: initialise things in initialiseVariables() in the order of…
agarny Aug 19, 2024
327225a
GeneratorProfile: pass the computedConstants array to initialiseVaria…
agarny Aug 19, 2024
d1020eb
GeneratorProfile: don't need to pass the VOI to initialiseVariables().
agarny Aug 19, 2024
f3bbce3
Tests: removed unneeded generated C/Python files.
agarny Aug 19, 2024
1f09630
Generator: make sure that constants are initialised when they are nee…
agarny Aug 19, 2024
b54f688
GeneratorProfile: use the constants, computed constants, and algebrai…
agarny Aug 19, 2024
d165208
GeneratorProfile: use the constants, computed constants, and algebrai…
agarny Aug 19, 2024
183d531
Tests: some minor cleaning up.
agarny Aug 20, 2024
54e6673
Some minor cleaning up.
agarny Aug 21, 2024
62dc092
GeneratorProfile: use the externals array to retrieve the value of ex…
agarny Aug 20, 2024
4bf1afc
Addressed various coverage issues as a result of our work on issue #1…
agarny Aug 20, 2024
68ad0fc
Some minor cleaning up.
agarny Aug 28, 2024
ff5a1a2
Analyser: improved unit scaling.
agarny Aug 27, 2024
c83f5c7
Some minor cleaning up.
agarny Sep 2, 2024
26ba852
Generator: make sure that NLA systems have access to external variables.
agarny Sep 3, 2024
68c9895
Generator: fixed a small issue with our Python profile.
agarny Sep 5, 2024
f0957e0
Tests: added a test to generate some code for the DAE version of the …
agarny Sep 5, 2024
49b3a4f
Tests: changed the external variable in algebraicEqnWithOneNonIsolate…
agarny Sep 6, 2024
6b74014
Python: improved the API documentation.
agarny Sep 10, 2024
dcbd038
Some minor cleaning up.
agarny Sep 10, 2024
e3ce0d1
Merge branch 'main' into issue1243.
agarny Oct 7, 2024
c07412b
API: simplifed/improved the API for external variables.
agarny Oct 15, 2024
ffd073f
CMake: don't use hints to find llvm-cov and llvm-profdata.
agarny Oct 17, 2024
69aa6ca
CMake: let the user know where the coverage report can be found.
agarny Oct 17, 2024
e739d34
Merge branch 'issue1251' into issue1243
agarny Oct 21, 2024
8563e4b
Some minor cleaning up.
agarny Oct 21, 2024
feffbea
Merge branch 'main' into issue1257.
agarny Oct 21, 2024
4a71e2f
Merge branch 'main' into issue1251.
agarny Oct 21, 2024
ddbb845
Merge branch 'main' into issue1243
agarny Oct 21, 2024
e279a17
Merge branch 'python' into issue1257.
agarny Oct 21, 2024
925a288
Merge branch 'issue1257' into issue1251.
agarny Oct 21, 2024
e2d73da
Merge branch 'issue1251' into issue1243
agarny Oct 21, 2024
1c7c1c3
Merge branch 'python' into issue1251
agarny Oct 21, 2024
61f9b08
Merge branch 'issue1251' into issue1243.
agarny Oct 21, 2024
4c4842f
Some minor cleaning up.
agarny Oct 22, 2024
dace0cb
Merge branch 'main' into issue1251
agarny Oct 23, 2024
8fda60d
Merge branch 'main' into issue1243
agarny Oct 23, 2024
6c24539
Merge branch 'main' into issue1251
agarny Oct 26, 2024
315a007
Merge branch 'main' into issue1243
agarny Oct 26, 2024
22d78ed
Merge branch 'main' into issue1251
agarny Oct 27, 2024
4c093e1
Merge branch 'main' into issue1243
agarny Oct 27, 2024
89d8eda
Merge branch 'python' into issue1251.
agarny Oct 28, 2024
858f45f
Merge branch 'issue1251' into issue1243
agarny Oct 28, 2024
03ff8f0
Merge branch 'python' into issue1251.
agarny Oct 28, 2024
dbe8852
Merge branch 'issue1251' into issue1243.
agarny Oct 28, 2024
13e84f9
Merge branch 'python' into issue1251.
agarny Oct 29, 2024
86a6280
Merge branch 'issue1251' into issue1243.
agarny Oct 29, 2024
db70843
Merge branch 'python' into issue1251.
agarny Nov 5, 2024
fc80910
Merge branch 'issue1251' into issue1243.
agarny Nov 5, 2024
02726a5
Merge branch 'python' into issue1251.
agarny Nov 5, 2024
b7d50f1
Merge branch 'issue1251' into issue1243.
agarny Nov 5, 2024
cc07f11
Merge branch 'main' into issue1251
agarny Nov 9, 2024
15c648a
Merge branch 'main' into issue1243
agarny Nov 9, 2024
2a8ed61
Merge branch 'main' into issue1251
agarny Nov 10, 2024
8aca12d
Merge branch 'main' into issue1243
agarny Nov 10, 2024
a6fa546
Merge branch 'main' into issue1251
agarny Nov 10, 2024
dfc6ea7
Merge branch 'main' into issue1243
agarny Nov 10, 2024
2c523d9
Merge branch 'main' into issue1251
agarny Nov 11, 2024
2ca7d2a
Merge branch 'main' into issue1251
agarny Nov 11, 2024
6a48c0f
Reverted some "cleaning up" of the analyser.
agarny Nov 14, 2024
ba680d6
Merge branch 'cleaning-up' into issue1251.
agarny Nov 14, 2024
5c0d33f
Merge branch 'issue1251' into issue1243
agarny Nov 14, 2024
d1c8fb5
Some minor cleaning up following the last merge.
agarny Nov 14, 2024
c81e3a3
Some minor cleaning up.
agarny Nov 15, 2024
113d562
Merge branch 'issue1251' into issue1243.
agarny Nov 15, 2024
b26676b
Fixed macro issue on some Linux systems.
agarny Nov 15, 2024
dc55ff2
Merge branch 'main' into issue1251.
agarny Nov 24, 2024
189b561
Merge branch 'issue1251' into issue1243.
agarny Nov 24, 2024
e6583cf
Reverted some "cleaning up" of the analyser.
agarny Nov 14, 2024
186266a
Merge branch 'revert' into issue1251.
agarny Dec 5, 2024
e832e17
Merge branch 'issue1251' into issue1243.
agarny Dec 5, 2024
8b590e7
Reverted commit 6a48c0fa8.
agarny May 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15 CACHE STRING "Minimum OS X deployment vers
set(PROJECT_NAME libCellML)
set(PROJECT_URL https://libcellml.org)
set(_PROJECT_VERSION 0.6.3)
set(PROJECT_DEVELOPER_VERSION )
set(PROJECT_DEVELOPER_VERSION)
project(${PROJECT_NAME} VERSION ${_PROJECT_VERSION} LANGUAGES CXX)

# Set policies that affect the build.
Expand Down
10 changes: 10 additions & 0 deletions cmake/common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -313,3 +313,13 @@ function(redhat_based _RESULT)
endif()
set(${_RESULT} ${_REDHAT_BASED} PARENT_SCOPE)
endfunction()

function(apply_libxml2_settings _TARGET)
if(HAVE_LIBXML2_CONFIG)
target_link_libraries(${_TARGET} PUBLIC ${LIBXML2_TARGET_NAME})
else()
target_include_directories(${_TARGET} PUBLIC ${LIBXML2_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS})
target_link_libraries(${_TARGET} PUBLIC ${LIBXML2_LIBRARIES} ${ZLIB_LIBRARIES})
target_compile_definitions(${_TARGET} PUBLIC ${LIBXML2_DEFINITIONS})
endif()
endfunction()
11 changes: 4 additions & 7 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ set(GIT_HEADER_FILES
${CMAKE_CURRENT_SOURCE_DIR}/debug.h
${CMAKE_CURRENT_SOURCE_DIR}/entity_p.h
${CMAKE_CURRENT_SOURCE_DIR}/generator_p.h
${CMAKE_CURRENT_SOURCE_DIR}/generatorprofile_p.h
${CMAKE_CURRENT_SOURCE_DIR}/generatorprofilesha1values.h
${CMAKE_CURRENT_SOURCE_DIR}/generatorprofiletools.h
${CMAKE_CURRENT_SOURCE_DIR}/internaltypes.h
Expand Down Expand Up @@ -196,13 +197,7 @@ else()
target_include_directories(cellml PUBLIC ${ZLIB_INCLUDE_DIRS})
endif()

if(HAVE_LIBXML2_CONFIG)
target_link_libraries(cellml PUBLIC ${LIBXML2_TARGET_NAME})
else()
target_include_directories(cellml PUBLIC ${LIBXML2_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS})
target_link_libraries(cellml PUBLIC ${LIBXML2_LIBRARIES} ${ZLIB_LIBRARIES})
target_compile_definitions(cellml PUBLIC ${LIBXML2_DEFINITIONS})
endif()
apply_libxml2_settings(cellml)

# Use target compile features to propagate features to consuming projects.
target_compile_features(cellml PUBLIC cxx_std_17)
Expand Down Expand Up @@ -238,6 +233,8 @@ target_include_directories(cellml_debug_utilities
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/api>
)

apply_libxml2_settings(cellml_debug_utilities)

set_target_properties(cellml_debug_utilities PROPERTIES
CXX_VISIBILITY_PRESET hidden
DEBUG_POSTFIX d
Expand Down
Loading
Loading