-
Notifications
You must be signed in to change notification settings - Fork 10
Bump version number to 7.9.0 and merge recent bug fixes from main [WIP]
#140
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
base: main
Are you sure you want to change the base?
Conversation
mainmain [WIP]
…rflow while computing basis elements with large harmonic orders
…ized Legendre evaluation
michael-petersen
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.
Great feature additions! I've run a small suite of local tests, nothing unexpected. Just a couple flagged things to decide on before bumping the version, but we're ready for this sooner rather than later.
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.
Do we want to actually remove this workaround in 7.9?
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.
Good question. I'd split the question into two questions:
- When should we ditch all of the backward compatibility (if ever)?
- What should be the default behavior on a cache version change generally?
On the first: it might be too soon to remove old (pre-HDF5) cache support, but this should be done at some point. More generally, there is so much code here to support and I already feel like I have knowledge atrophy. So I'm in favor of beginning to trim out old stuff, when possible. The allow_old_cache is definitely a temporary kludge to work around the Eigen bug. I will argue that I should bumped the version number when I changed the code for the new Eigen API, although to be fair to myself, I had no idea that there would be a bug. Then, we would not have needed allow_old_cache. I will tentatively propose that we bump the version number now, add the appropriate version checking logic. I suppose we can suffer with allow_old_cache a bit longer.
On the second, there are two obvious options:
- Trigger a rebuild, which is the current workaround
- Throw an exception to force the user to delete the old cache
I go both ways on this. On the one hand, it is a cache so overwriting seems logical. On the other hand, if the cache has historical value, the user should be forced to decide, which favors option 2.
expui/BiorthBasis.cc
Outdated
| } | ||
|
|
||
|
|
||
| std::vector<double> CBDisk::getAccel(double x, double y, double z) |
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.
Just wondering: do we want to add CBDisk in the end?
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.
I can go either way on that. FlatDisk is a superset through its helper class EmpCyl2d which provides the CB basis. So one could get back CB by providing the CB density as the empirical target. Keeping CBDisk means another thing to maintain. But CBDisk is simple, easier to use, and good sanity check for a two-d expansion generally, and makes contact with a well-known example from the literature. So see a few more ticks in the keep than eliminate column. It's close.
| "rmin", | ||
| "rmax", | ||
| "self_consistent", | ||
| "FIX_L0", |
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.
It occurs to me to flag this up for addition to docs.
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.
Yes!
And this raises another general issue: we now have a compendium of parameter keys for most important exp classes. We probably should spend a few days trying to document each and every key.
As of now, we are automatically importing our C++ documentation with Doxygen/CMake/Sphinx/Breathe linkage. This seems to be the current practice (after some quick googling) for most developers. Pretty ugly, tbh.
Right now, I'm hand importing the doxygen-generated xml into the sphinx tree. I suspect that we could automate this by putting the sphinx documentation into the main EXP tree and configuring readthedocs to access a subdirectory which was populated by CMake with the xml. I'm sure I could figure out how to do all of this, but it would be great to lean on someone that already has the expertise...
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…ndr, FlatDisk, Sphere, and SphericalBasis
Co-authored-by: Copilot <[email protected]>
… in attribute reading/writing
… and 'subsamp' config tags. Also, double checked 'subsamp' logic to enforce nonzero-sized samples.
…P unit tests to run more fully
Expose a smart pointer to the managed C++ instance that Gala can use.
pyEXP: add get_shared_ptr_capsule() to BiorthBasis and Coefs
Added basis creation from functions
Add a conditional disable of passing openmp flags on mac with clang
A preliminary implementation of partition covariance [WIP]
This is a WIP for ongoing development in the
develbranch. This allows CI to run at the very least.