35#ifndef _BLAZE_MATH_TYPETRAITS_ISSIMDENABLED_H_
36#define _BLAZE_MATH_TYPETRAITS_ISSIMDENABLED_H_
71template<
typename T,
typename... Args >
72struct GetSIMDEnabled {
73 static constexpr bool test(
bool (*fnc)() ) {
return fnc(); }
74 static constexpr bool test(
bool b ) {
return b; }
75 static constexpr bool value = test( T::template simdEnabled<Args...> );
87struct GetSIMDEnabled<T> {
88 static constexpr bool test(
bool (*fnc)() ) {
return fnc(); }
89 static constexpr bool test(
bool b ) {
return b; }
90 static constexpr bool value = test( T::simdEnabled );
106template<
typename T,
typename... Args >
109 , GetSIMDEnabled<T,Args...>
110 , AlwaysFalse<T> >::value >
128template<
typename T,
typename... Args >
Header file for the AlwaysFalse type trait.
Header file for the HasMember type traits.
Header file for the IntegralConstant class template.
#define BLAZE_CREATE_HAS_DATA_OR_FUNCTION_MEMBER_TYPE_TRAIT(TYPE_TRAIT_NAME, MEMBER_NAME)
Macro for the creation of a type trait for compile time checks for member data and functions.
Definition: HasMember.h:99
constexpr bool IsSIMDEnabled_v
Auxiliary variable template for the IsSIMDEnabled type trait.
Definition: IsSIMDEnabled.h:129
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for data types.
Definition: IsSIMDEnabled.h:111