solid harmonics ordering: runtime switchable L2, build-time switchable psi #2861
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
User API & Changelog headlines
icpx
and now uses c++17 standard throughout.Dev notes & details
Operator::nuclear
. In practice, this means we can use the same built L2 as other open-source projects. cmake harness, 2023 edition evaleev/libint#259psi4_SHGAUSS_ORDERING
sss
though. grab the fchk changes from that PR so it can be closed unmerged. fchk changes can be a follow-up PR.only Linux CI expected to pass, as that's the only conda package built with the new L2. unedit docs-cf, two azure files, and one ecosystem fileLGTM_SRC
stuff since it's defunct and all the "CHOOSE" stuff, since a master L2 won't work anymore b/c need the shg order switching.psi4_CXX_STANDARD_Libint2
that can be reset to 14.icpx
can take-xHost
buticx
can't, and ouroption_with_flags
routine tries both so it throws an unnecessary warning. not a must for this PR).d2ints
label to ctest and pytest to allow not running. This should probably convert to a skipif someday. Most of the tests I've checked individually and they would pass if findif points=5.include/libint2/boost/
(that is, vendor boost) or not, effectively passing the problem along to the consumer (psi). In my own conda packages for L2, I did the former, so psi didn't need any boost. For the c-f L2 packages, I figured it was better practice to not vendor, hence the "new" dep. It's header-only, not boost::python or any of the boost compiled libs, so not too much trouble, I think.Questions
Can look at the libmints files to form an opinion on these.
libint2::initialize()
was called three times, butlibint2::finalize()
only once. I added two more, but should I have?Checklist
Tests added for any new featuresStatus