31 #ifndef ETL_POW_INCLUDED
32 #define ETL_POW_INCLUDED
46 namespace private_power
48 #if ETL_NOT_USING_64BIT_TYPES
49 typedef uint32_t type;
51 typedef uint64_t type;
60 template <const
size_t NV, const
size_t POWER>
63 static ETL_CONSTANT private_power::type value = NV *
power<NV, POWER - 1>::value;
71 template <const
size_t NV>
74 static ETL_CONSTANT private_power::type value = 1;
77 #if ETL_CPP17_SUPPORTED
78 template <
size_t NV,
size_t POWER>
86 template <const
size_t NV>
91 value = 1 << (
etl::log2<NV - 1>::value + 1)
109 #if ETL_CPP17_SUPPORTED
118 template <const
size_t NV>
169 #if ETL_CPP17_SUPPORTED
178 template <const
size_t NV>
181 static ETL_CONSTANT
bool value = (NV & (NV - 1)) == 0;
192 static ETL_CONSTANT
bool value =
false;
203 static ETL_CONSTANT
bool value =
false;
206 #if ETL_CPP17_SUPPORTED
Definition: absolute.h:37