External parameter interface
I'm a bit unhappy with the current way the external parameters are handled. IMNSHO the definition for func_params_type
in
https://gitlab.com/libxc/libxc/-/blob/master/src/xc.h#L127
could be improved upon, since it leads to huge duplication of parameter names and descriptions in functional forms that have several parametrizations: porting the B97 style functionals to the new external parameter interface was a pain in the ass, for instance.
Instead, I would wish for a version where the external parameters are just double []
like they used to be, and they would be augmented with arrays that contain the names and descriptions of the parameters.
It would be nice to move the internals of the library from C to C++, where it would be much easier to handle these kinds of things while still maintaining simple C interfaces.