Commit a70cdd5d authored by Quentin Khan's avatar Quentin Khan

Adaptive algorithms: separated concept checks for easier debugging

parent 6f3cd952
......@@ -15,16 +15,15 @@
#include "Kernels/FKernelConcepts.hpp"
template<class _Tree, class _Kernel,
typename std::enable_if < true
&& scalfmm::sfinae::has_P2M<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_M2M<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_M2L<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_L2L<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_L2P<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_P2P<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_M2P<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_P2L<_Tree, _Kernel>::value
> ::type* = nullptr >
typename std::enable_if<scalfmm::sfinae::has_P2M<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_M2M<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_M2L<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_L2L<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_L2P<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_P2P<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_M2P<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_P2L<_Tree, _Kernel>::value>::type* = nullptr
>
class FAdaptiveSequential : public FAlgorithmInterface, public FAlgorithmTimers {
public:
using tree_t = _Tree;
......
......@@ -24,16 +24,15 @@
#include "Kernels/FKernelConcepts.hpp"
template<class _Tree, class _Kernel,
typename std::enable_if < true
&& scalfmm::sfinae::has_P2M<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_M2M<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_M2L<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_L2L<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_L2P<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_partial_P2P<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_M2P<_Tree, _Kernel>::value
&& scalfmm::sfinae::has_P2L<_Tree, _Kernel>::value
> ::type* = nullptr >
typename std::enable_if<scalfmm::sfinae::has_P2M<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_M2M<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_M2L<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_L2L<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_L2P<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_partial_P2P<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_M2P<_Tree, _Kernel>::value>::type* = nullptr,
typename std::enable_if<scalfmm::sfinae::has_P2L<_Tree, _Kernel>::value>::type* = nullptr
>
class FAdaptiveTask : public FAlgorithmInterface, public FAlgorithmTimers {
public:
using tree_t = _Tree;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment