Closed ilfreddy closed 6 years ago
I think this might indeed be more user/library friendly. Comments:
The purpose of the (indeed very verbose) enums was to be extremely clear not only of what quantities are expected from the user, but also of the layout of the input and output arrays. Mistakes regarding this layout was a source of some bugs in the past. Then the enum names became too long for some of the meta functionals so I had to abbreviate (2ND_TAYLOR etc).
Thanks for the FB. If you like the concept, let me know
enum xc_vars
so that they match the respective bits.if you want me to give explicit values to the enum xc_vars so that they match the respective bits.
This sounds like a good idea, I do not like your shifting where it's hard to see where a bit ends up eventually.
You are right. It was just a lazy implementation. I will try to write a clearer version.
The new routine takes a few integers as input. It combines them with bit manipulations. The final value corresponds to a unique
eval xc_vars
. Another integer fixeseval xc_mode
. The return statement calls the originalxc_eval_setup
.I have not tested it yet. Feedback welcome :-)
Still missing: