teqp 0.22.0
Loading...
Searching...
No Matches
pow_templates.hpp
Go to the documentation of this file.
1#pragma once
2#include "teqp/types.hpp"
3
4namespace teqp{
5template<typename A> auto POW2(const A& x) { return forceeval(x*x); }
6template<typename A> auto POW3(const A& x) { return forceeval(POW2(x)*x); }
7template<typename A> auto POW4(const A& x) { return forceeval(POW2(x)*POW2(x)); }
8template<typename A> auto POW5(const A& x) { return forceeval(POW2(x)*POW3(x)); }
9template<typename A> auto POW7(const A& x) { return forceeval(POW2(x)*POW5(x)); }
10template<typename A> auto POW8(const A& x) { return forceeval(POW4(x)*POW4(x)); }
11template<typename A> auto POW10(const A& x) { return forceeval(POW2(x)*POW8(x)); }
12template<typename A> auto POW12(const A& x) { return forceeval(POW4(x)*POW8(x)); }
13}
auto POW2(const A &x)
auto POW7(const A &x)
auto POW10(const A &x)
auto POW5(const A &x)
auto POW8(const A &x)
auto POW3(const A &x)
auto POW12(const A &x)
auto forceeval(T &&expr)
Definition types.hpp:52
auto POW4(const A &x)