NumCpp  2.12.1
A Templatized Header Only C++ Implementation of the Python NumPy Library
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