Reorganizing files & folders to prepaper for modularization #1085
Replies: 4 comments
-
for me algorithm is definitely a module:
|
Beta Was this translation helpful? Give feedback.
-
"Résumé brutal": eve::algorthm is using SIMD with ranges |
Beta Was this translation helpful? Give feedback.
-
reordered |
Beta Was this translation helpful? Give feedback.
-
I don't think we know anything about modules yet. I'd personally go with logical splits of files, which is not necessary works well due to a heavy use of operators (like swizzle with an operator). algo is definetly a module. |
Beta Was this translation helpful? Give feedback.
-
Objectives
Even if modules are still far in the future, we want to prepare ourselves. The idea is to clearly identify a subset of EVE code that makes sense as a module. The main idea is to not be too fine-grained to not end up with a myriad of inter modules dependencies AND not be too coarse either.
Current Idea
We are going to reorder files so that :
include/eve/module
actually contains file per module instead of just thereal
folderinclude/eve/functions/*
as our current access to functionsinclude/eve/module/<name>/name.hpp
files to include everything in a module. Those file will then later become module definitionsProjection into modules
Main plan
The planned module structure is:
import eve
for all the basic types, operators, and traitsimport eve.math
for all the<cmath>
level functionsimport eve.<module_name>
for all other modulesWhat are we going to do with pedantic etc?
Either we don't do anything cause modules to precompile everything turbo fast or one can imagine
import eve::module::pedantic
to access the pedantic version of a module. We may end up having no choice depending on the dependences of pedantic versions.What about the
complex
dilemmaimport eve.complex
is a no-brainer. Now, where should the complex version of Bessel functions live?Current idea:
import eve.bessel.complex
Tasks at hand
special/
. No function depends on them, so they can safely be modularizedOpen Questions
Beta Was this translation helpful? Give feedback.
All reactions