diff --git a/src/backends/fvm_types.hpp b/src/backends/fvm_types.hpp new file mode 100644 index 0000000000000000000000000000000000000000..71dfcbfa4db4635a682343faa3c07afc593c959c --- /dev/null +++ b/src/backends/fvm_types.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include <common_types.hpp> + +// Basic types shared across FVM implementations/backends. + +namespace nest { +namespace mc { + +using fvm_value_type = double; +using fvm_size_type = cell_local_size_type; + +} // namespace mc +} // namespace nest diff --git a/src/backends/gpu/fvm.hpp b/src/backends/gpu/fvm.hpp index c7a4dbb6b782c2c1754537735b212ead9d6d296e..28a48ec5c84e05b9d8fe913e2f43fde9045c7301 100644 --- a/src/backends/gpu/fvm.hpp +++ b/src/backends/gpu/fvm.hpp @@ -4,6 +4,7 @@ #include <string> #include <backends/event.hpp> +#include <backends/fvm_types.hpp> #include <common_types.hpp> #include <mechanism.hpp> #include <memory/memory.hpp> @@ -26,8 +27,8 @@ struct backend { } /// define the real and index types - using value_type = double; - using size_type = nest::mc::cell_lid_type; + using value_type = fvm_value_type; + using size_type = fvm_size_type; /// define storage types using array = memory::device_vector<value_type>; diff --git a/src/backends/multicore/fvm.hpp b/src/backends/multicore/fvm.hpp index fa3b1b14e46b5492a7a3735b5a97b6fee119d462..4c9e761839f132ec58b9057c2d7be8d079d98d06 100644 --- a/src/backends/multicore/fvm.hpp +++ b/src/backends/multicore/fvm.hpp @@ -4,6 +4,7 @@ #include <string> #include <backends/event.hpp> +#include <backends/fvm_types.hpp> #include <common_types.hpp> #include <event_queue.hpp> #include <mechanism.hpp> @@ -28,8 +29,8 @@ struct backend { } /// define the real and index types - using value_type = double; - using size_type = nest::mc::cell_lid_type; + using value_type = fvm_value_type; + using size_type = fvm_size_type; /// define storage types using array = memory::host_vector<value_type>; diff --git a/src/fvm_multicell.hpp b/src/fvm_multicell.hpp index 37aba8de4ff4805bddb2f3417088f7a2834a3cad..f74298e2f3cb388c72061983c3c86a809e605c3f 100644 --- a/src/fvm_multicell.hpp +++ b/src/fvm_multicell.hpp @@ -8,6 +8,7 @@ #include <vector> #include <algorithms.hpp> +#include <backends/fvm_types.hpp> #include <cell.hpp> #include <compartment.hpp> #include <event_queue.hpp> @@ -48,10 +49,10 @@ public: using backend = Backend; /// the real number type - using value_type = typename backend::value_type; + using value_type = fvm_value_type; /// the integral index type - using size_type = typename backend::size_type; + using size_type = fvm_size_type; /// the container used for values using array = typename backend::array;