Blaze 3.9
Eval.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_FUNCTORS_EVAL_H_
36#define _BLAZE_MATH_FUNCTORS_EVAL_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <utility>
46#include <blaze/system/Inline.h>
47
48
49namespace blaze {
50
51//=================================================================================================
52//
53// CLASS DEFINITION
54//
55//=================================================================================================
56
57//*************************************************************************************************
61struct Eval
62{
63 //**********************************************************************************************
69 template< typename T >
70 BLAZE_ALWAYS_INLINE BLAZE_DEVICE_CALLABLE decltype(auto) operator()( T&& a ) const
71 {
72 return eval( std::forward<T>( a ) );
73 }
74 //**********************************************************************************************
75};
76//*************************************************************************************************
77
78} // namespace blaze
79
80#endif
Macro for CUDA compatibility.
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
#define BLAZE_DEVICE_CALLABLE
Conditional macro that sets host and device attributes when compiled with CUDA.
Definition: HostDevice.h:94
Header file for the eval shim.
Generic wrapper for the eval() function.
Definition: Eval.h:62
System settings for the inline keywords.