dftlibs / xcfun

XCFun: A library of exchange-correlation functionals with arbitrary-order derivatives
https://dftlibs.org/xcfun/
Mozilla Public License 2.0
58 stars 32 forks source link

Rework C++ and Python interfaces #112

Open robertodr opened 4 years ago

robertodr commented 4 years ago

With #98 in the pipeline, we have new C and Fortran API which are identical and behave (to the extent of my testing and knowledge) exactly the same.

The code for the C++ and Python interfaces, however, looks quite silly and contrived at the moment. This is a summary of the current state of affairs:

Where I would like to go:

I am not really sure how to parcel out these work items/wish list. Working with the C++ code is not exactly trivial at the moment. There is a lot of preprocessor magic going on that I do not understand at all, so it's really scary to do anything substantial!