-
Notifications
You must be signed in to change notification settings - Fork 475
Modernize BasisSet::print_detail_cfour #2937
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
Conversation
1b94d93 to
ccb6f5c
Compare
|
Formatting is great, but just in case part of your goal is to compare basissets at the I'll look into the adcc errors. I think Max updated the conda packages recently. |
|
This branch was waiting for #2804 to be merged, the original goal was just to properly fix for some compiler warnings, but I will need to re-read these changes myself, it has been waiting for months. |
61bfdb7 to
4ee65c3
Compare
… processing non-double FP types
a5e71dd to
2606fc0
Compare
loriab
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice modernization, thank you!
I've run the tests/cfour test suite and a partial cfour ccsd(t) many-body job with lots of ghost atoms, and all pass, so lgtm.
|
Conflicts are trivial, so please lmk if you want to handle the rebase or website UI resolve, or if I should, @TiborGY . |
Thanks for the testing, conflicts resolved via the web-UI. |
Description
Much like PR #2804, this PR is mostly about eliminating
sprintf-related compiler warnings and modernizing C-style string handling to C++, this time in libmints'BasisSet::print_detail_cfour.Dev notes & details
BasisSet::print_detail_cfour(), highlights:sprintfand a fixed-size char arrayconstwherever reasonablestd::findon doubles is replaced by new functions (none_of_equalandfpeq) that implement a fuzzy compare with a default tolerance of 1E-14. Probably no behaviour change in practice (unless someone has basis fns which differ in exponent by >0 but <1E-14), but it is usually not recommended to use == on FP types, which is whatstd::finddoes.slater.chemie.uni-mainz.deURL has succumbed to link rot. Replaced with one that points to the latest version that is being preserved by the Internet Archive, both in the C++ and Python implementations.basisset.ccandbasisset.hQuestions
none_of_equalandfpeqare just living inbasisset.ccandbasisset.hright now. Would some other file be a better place to put them?Checklist
std::findchange is behaviour-altering, albeit only in a corner case.Status