QMCPACK / qmcpack

Main repository for QMCPACK, an open-source production level many-body ab initio Quantum Monte Carlo code for computing the electronic structure of atoms, molecules, and solids with full performance portable GPU support
http://www.qmcpack.org
Other
306 stars 139 forks source link

Migrate qmc_run_and_check to more generic qmc_run_and_check_custom_scalar #3663

Open ye-luo opened 2 years ago

ye-luo commented 2 years ago

Is your feature request related to a problem? Please describe. Keeping two similar functions are sub-optimal.

Describe the solution you'd like Fuse into one for both needs.

markdewing commented 2 years ago

The issue is not so much fusing the functionality, but rewriting all the tests to use qmc_run_and_check_custom_scalar. One important difference is qmc_run_and_check_custom_scalar takes named arguments (by using cmake_parse_arguments). This makes it much more flexible for expansion than qmc_run_and_check (which uses positional arguments).

qmc_run_and_check_custom_scalar will need to be extended to handle multiple series and scalar values before being a replacement for qmc_run_and_check.

See the introduction of qmc_run_and_check_scalar in #2741

ye-luo commented 2 years ago

Named arguments seem much more readable when there are like 10+ arguments.

PDoakORNL commented 2 years ago

Named/Tagged arguments is something python got right.

So should we: