You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
In the default scheme many elements have the two files "t8_dELEMENT_bits.c" and ".h".
For example "t8_dpyramid_bits.c".
The "d" is short for "default".
There is no need to shorten the file name and this shortening only increases the probability for errors and confusion, such as #1339 where we have a serious data type conversion bug.
"bits" is also misleading since the algorithms are mostly not doing any bit manipulation (as was the first intention of that file name).
The names should be changed to "t8_default_ELEMENT_impl.c" and "h"
When we are at it, we could also directly change the endings to "cxx" and "hxx" making the files proper C++ files.
Describe the solution or feature you'd like
Edit: If easily possible (not for all element shapes) remove the files entirely and move the implementation into the existing class implementation of the scheme.
The names should be changed to "t8_default_ELEMENT_impl.c" and "h" (or "*_implementation.c")
When we are at it, we could also directly change the endings to "cxx" and "hxx" making the files proper C++ files.
Describe alternatives you've considered
"impl" or "implementation" are both fine (but the latter does no shortening).
Estimated priority
"Priority: low" Should be solved eventually
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered:
Wouldn't it also be possible to remove these files entirely and do the implementation directly in t8_default_element.cxx.
That way we would reduce function calls. The only downside that I see is that we would need to cast the elements at the beginning of each function, but it would make thinks a lot shorter and clear the code up.
However, for tris and tets we use macros to switch between 2D and 3D in order to avoid duplicate code.
I believe to do this properly we would need to switch to a dimension templated C++ implementation of the tri/tet scheme?
(Which @lukasdreyer does for his scheme as i believe?)
So, removing these files may come with additional work and renaming would be a first step.
I edited the Issue description accordingly.
holke
changed the title
Rename "t8_d*_bits.*" files to "t8_default_*_impl.*"
Rename (or remove) "t8_d*_bits.*" files to "t8_default_*_impl.*"
Jan 16, 2025
Feature request
Is your feature request related to a problem? Please describe.
In the default scheme many elements have the two files "t8_dELEMENT_bits.c" and ".h".
For example "t8_dpyramid_bits.c".
The "d" is short for "default".
There is no need to shorten the file name and this shortening only increases the probability for errors and confusion, such as #1339 where we have a serious data type conversion bug.
"bits" is also misleading since the algorithms are mostly not doing any bit manipulation (as was the first intention of that file name).
The names should be changed to "t8_default_ELEMENT_impl.c" and "h"
When we are at it, we could also directly change the endings to "cxx" and "hxx" making the files proper C++ files.
Describe the solution or feature you'd like
Edit: If easily possible (not for all element shapes) remove the files entirely and move the implementation into the existing class implementation of the scheme.
The names should be changed to "t8_default_ELEMENT_impl.c" and "h" (or "*_implementation.c")
When we are at it, we could also directly change the endings to "cxx" and "hxx" making the files proper C++ files.
Describe alternatives you've considered
"impl" or "implementation" are both fine (but the latter does no shortening).
Estimated priority
"Priority: low" Should be solved eventually
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: