Deprecate mergeYupYdown(), rename splitYupYdown() to createYupYdown() - #1321
Deprecate mergeYupYdown(), rename splitYupYdown() to createYupYdown()#1321johnomotani wants to merge 2 commits into
Conversation
splitYupYdown() is still present, but also deprecated. These are deprecated so we can remove them in v4.3, see PR #1287.
At the moment ParallelTransformIdentity::calcYupYdown() uses mergeYupYdown(), which is deprecated. With mergeYupYdown in the header it was included in many files, which made 'make' noisy. Therefore moving it to a .cxx file (which we can probably remove in v4.3).
504e6b6 to
3408390
Compare
|
I'm still not sure. Removing From #1287:
If I understand, that is really the purpose of this PR, simplifying those conditionals? Is an alternative to just move the full checks into Also, deprecating something implies we should be able to completely delete all uses of it from the library. Now that we're |
|
BOUT-dev/src/mesh/coordinates.cxx Lines 707 to 720 in 8bb7ce6 and Div_par_flux on #1318. If we want to remove the yup/ydown fields, I think we should have a different method, like BOUT-dev/src/field/field3d.cxx Lines 204 to 220 in 2dd1c1d |
|
After a bit more thinking and some discussion with @d7919, I think this is hiding the real issue which is that we still haven't implemented multiple yup fields. If we handle the identity transform using the field-aligned branches, we'll be doing two unnecessary copies each time (although copy-on-write will reduce the pain of this a lot). Sorting out the multiple yup fields should be a priority for 4.3. |
|
Ah, I hadn't twigged the copying issue. Makes sense to me now to keep It's annoying that there doesn't seem to be a way of avoiding copies when using toFieldAligned (although I may just be missing it, not being very good with c++11). The compiler will avoid a copy when returning a temporary value with return type |
splitYupYdown() is still present, but also deprecated.
These are deprecated so we can remove them in v4.3, see PR #1287.
Moving ParalllelTransformIdentity::calcYupYdown() to a .cxx file, because otherwise 'make' gets noisy due to paralleltransform.hxx being included in most files.