PhysiCell icon indicating copy to clipboard operation
PhysiCell copied to clipboard

fix PhysiCell constants for more compilers

Open rheiland opened this issue 1 year ago • 3 comments

This may be premature, but would like to at least suggest it get merged in this release. This addresses compiler errors with PhysiCell_constants{.h,.cpp} for certain compilers (I had mentioned clang++ when I need to do serious debugging, and issue https://github.com/MathCancer/PhysiCell/issues/236 mentioned the error on nvc++, as did @clasqui to @vincent-noel for PhysiBoSS).

I've only tested with the "compile all the sample projects" script. Obviously, it would be good to test with actual simulations (EDIT: see next comment).

rheiland avatar Jun 05 '24 12:06 rheiland

I used the 3 scripts discussed in https://github.com/MathCancer/PhysiCell/pull/247 to verify that the results generated using the modified versions of core/PhysiCell_constants.{h,cpp} in this PR's repo matched (bitwise) the simulation results using the core/PhysiCell_constants.{h,cpp} in 1.13.1

Specifically, I ran this 3rd script (after running its 2 predecessor scripts to generate simulation results): M1P~/git/new-build-test$ python beta/test_diffs_svg.py ~/git/new-build-test/samples_test ~/git/fix-constants/samples_test and it confirmed that the (early) .svg results were bitwise reproducible for these sample models:

# note that we omit 'output_physimess' only because, currently, it fails the recursive copy of
# additional files needed in config/subdirs (until the Makefiles and "make load PROJ" is updated)

for out_dir in ['output_template','output_biorobots','output_cancer_biorobots','output_celltypes3',
'output_heterog','output_interaction','output_mechano','output_pred_prey','output_virus_mac',
'output_worm','output_rules','output_cancer_immune']:

rheiland avatar Jun 26 '24 21:06 rheiland

I also confirmed that nvc++ compiles without any errors (on Ubuntu). It's actually enlightening to see the warnings that it returns which hint at some code cleanup that could be done.

rheiland avatar Jun 27 '24 22:06 rheiland

Works on my ubuntu too

vincent-noel avatar Jun 28 '24 14:06 vincent-noel