NumCpp  2.17.0
A Templatized Header Only C++ Implementation of the Python NumPy Library
Loading...
Searching...
No Matches
Utils/power.hpp
Go to the documentation of this file.
1
28#pragma once
29
30#include <complex>
31
33#include "NumCpp/Core/Types.hpp"
34
35namespace nc::utils
36{
37 //============================================================================
45 template<typename dtype>
46 dtype power(dtype inValue, uint8 inPower) noexcept
47 {
49
50 if (inPower == 0)
51 {
52 return static_cast<dtype>(1);
53 }
54
55 dtype returnVal = inValue;
56 for (uint8 exponent = 1; exponent < inPower; ++exponent)
57 {
58 returnVal *= inValue;
59 }
60 return returnVal;
61 }
62} // namespace nc::utils
#define STATIC_ASSERT_ARITHMETIC_OR_COMPLEX(dtype)
Definition StaticAsserts.hpp:56
Definition Utils/cube.hpp:33
dtype power(dtype inValue, uint8 inPower) noexcept
Definition Utils/power.hpp:46
std::uint8_t uint8
Definition Types.hpp:42