Skip to content
Snippets Groups Projects
Commit 4e48f7c5 authored by Jö Fahlke's avatar Jö Fahlke
Browse files

[Simd::IsStandard] Disarm.

Fixes: #121.

Stop-gap measure to to accept any type in the adaption for standard types.
parent 0789378a
Branches
Tags
1 merge request!509[Simd::IsStandard] Disarm.
Pipeline #
......@@ -39,6 +39,9 @@ namespace Dune {
//! Which types are subject to the standard SIMD abstraction implementation
/**
* \note This is obsolete, do not use, see
* https://gitlab.dune-project.org/core/dune-common/issues/121#note_44588
*
* This is derive from \c std::true_type if \c T should be handled by the
* standard SIMD abstraction implementation, otherwise from \c
* std::false_type. By default it declares all arithmetic types (as per
......@@ -63,7 +66,7 @@ namespace Dune {
* little as we can get away with.
*/
template<class T, class SFINAE = void>
struct IsStandard : std::is_arithmetic<T> {};
struct IsStandard : std::true_type {};
//! group SIMDStandard
} // namespace Simd
......
......@@ -8,6 +8,7 @@
#include <ostream>
#include <dune/common/math.hh>
#include <dune/common/simd/isstandard.hh>
#include <dune/common/simd/simd.hh>
#include <dune/common/typetraits.hh>
......@@ -356,6 +357,13 @@ namespace Dune {
return out;
}
} //namespace Overloads
// temporary stop-gap measure to get IsStandard out of the way
// see https://gitlab.dune-project.org/core/dune-common/issues/121#note_44588
template<class T, std::size_t S>
struct IsStandard<LoopSIMD<T, S> > : std::false_type {};
} //namespace Simd
......
......@@ -13,6 +13,7 @@
#include <dune/common/indices.hh>
#include <dune/common/simd/base.hh>
#include <dune/common/simd/defaults.hh> // for anyFalse()
#include <dune/common/simd/isstandard.hh>
#include <dune/common/typetraits.hh>
#include <dune/common/vc.hh>
......@@ -533,6 +534,14 @@ namespace Dune {
//! @} group SIMDVc
} // namespace Overloads
// temporary stop-gap measure to get IsStandard out of the way
// see https://gitlab.dune-project.org/core/dune-common/issues/121#note_44588
template<class T>
struct IsStandard<T, std::enable_if_t<VcImpl::IsVector<T>::value> > :
std::false_type
{};
} // namespace Simd
/*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment