Blaze 3.9
Eval.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_SHIMS_EVAL_H_
36#define _BLAZE_MATH_SHIMS_EVAL_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <blaze/system/Inline.h>
44#include <blaze/util/EnableIf.h>
47
48
49namespace blaze {
50
51//=================================================================================================
52//
53// EVAL SHIM
54//
55//=================================================================================================
56
57//*************************************************************************************************
68template< typename T >
69BLAZE_ALWAYS_INLINE constexpr EnableIf_t< IsBuiltin_v<T> || IsComplex_v<T>, const T& >
70 eval( const T& a ) noexcept
71{
72 return a;
73}
74//*************************************************************************************************
75
76} // namespace blaze
77
78#endif
Header file for the EnableIf class template.
Header file for the IsBuiltin type trait.
Header file for the IsComplex type trait.
BLAZE_ALWAYS_INLINE constexpr EnableIf_t< IsBuiltin_v< T >||IsComplex_v< T >, const T & > eval(const T &a) noexcept
Formal evaluation of the given argument.
Definition: Eval.h:70
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
System settings for the inline keywords.