Blaze 3.9
Pow4.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_SHIMS_POW4_H_
36#define _BLAZE_MATH_SHIMS_POW4_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
46#include <blaze/system/Inline.h>
47#include <blaze/util/EnableIf.h>
48
49
50
51namespace blaze {
52
53//=================================================================================================
54//
55// POW4 SHIM
56//
57//=================================================================================================
58
59//*************************************************************************************************
69template< typename T
70 , EnableIf_t< IsScalar_v<T> || IsSIMDPack_v<T> >* = nullptr >
71BLAZE_ALWAYS_INLINE constexpr decltype(auto) pow4( const T& a ) noexcept( noexcept( pow2( pow2( a ) ) ) )
72{
73 return pow2( pow2( a ) );
74}
75//*************************************************************************************************
76
77} // namespace blaze
78
79#endif
Header file for the EnableIf class template.
Header file for the IsSIMDPack type trait.
Header file for the IsScalar type trait.
BLAZE_ALWAYS_INLINE constexpr decltype(auto) pow4(const T &a) noexcept(noexcept(pow2(pow2(a))))
Quadruple the given value/object.
Definition: Pow4.h:71
decltype(auto) pow2(const Matrix< MT, SO > &m)
Computes the square for each single element of the matrix m.
Definition: Matrix.h:686
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Header file for the pow2 shim.
System settings for the inline keywords.