10 #include "cetlib_except/exception.h" 12 #include <type_traits> 16 template <
unsigned N,
class T>
51 template <
unsigned N,
class T,
unsigned = N % 2u>
54 template <
unsigned N,
class T>
57 template <
unsigned N,
class T>
73 template <
unsigned N,
class T>
82 template <
unsigned N,
class T>
88 return pow_half(x * x);
92 template <
unsigned N,
class T>
98 return x * pow_half(x * x);
109 throw cet::exception(
"cet::pow") <<
"pow<0>(0) is indeterminate!";
137 return (x + y) * (x -
y);
constexpr T operator()(T x)
constexpr T diff_of_squares(T x, T y)
constexpr T sum_of_squares(T x, T y)
constexpr T operator()(T x)
::xsd::cxx::tree::exception< char > exception
constexpr T operator()(T x)
constexpr T operator()(T x)
constexpr T operator()(T x)