Blaze  3.6
SIMDPack.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_SIMD_SIMDPACK_H_
36 #define _BLAZE_MATH_SIMD_SIMDPACK_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <blaze/system/Inline.h>
44 
45 
46 namespace blaze {
47 
48 //=================================================================================================
49 //
50 // CLASS DEFINITION
51 //
52 //=================================================================================================
53 
54 //*************************************************************************************************
62 template< typename T > // Type of the SIMD pack
63 struct SIMDPack
64 {
65  //**Non-const conversion operator***************************************************************
71  return *static_cast<T*>( this );
72  }
73  //**********************************************************************************************
74 
75  //**Const conversion operators******************************************************************
80  BLAZE_ALWAYS_INLINE const T& operator~() const noexcept {
81  return *static_cast<const T*>( this );
82  }
83  //**********************************************************************************************
84 };
85 //*************************************************************************************************
86 
87 } // namespace blaze
88 
89 #endif
BLAZE_ALWAYS_INLINE const T & operator~() const noexcept
Conversion operator for constant vectors.
Definition: SIMDPack.h:80
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
BLAZE_ALWAYS_INLINE T & operator~() noexcept
Conversion operator for non-constant vectors.
Definition: SIMDPack.h:70
Base class for all SIMD data types.The SIMDPack class template is a base class for all SIMD data type...
Definition: SIMDPack.h:63
System settings for the inline keywords.