32#ifndef FENNEC_MATH_EXPONENTIAL_H
33#define FENNEC_MATH_EXPONENTIAL_H
90#include <fennec/math/detail/_math.h>
107template<
typename genType>
108constexpr genType
pow(genType x, genType y) {
121template<
typename genType>
122constexpr genType
exp(genType x) {
135template<
typename genType>
constexpr genType
exp2(genType x) {
149template<
typename genType>
constexpr genType
log(genType x) {
164template<
typename genType>
constexpr genType
log2(genType x) {
178template<
typename genType>
constexpr genType
sqrt(genType x) {
192template<
typename genType>
constexpr genType
inversesqrt(genType x) {
193 return 1.0f / ::sqrt(x);
199template<
typename genType,
size_t...i>
200constexpr vector<genType, i...> pow(
const vector<genType, i...> & x,
const vector<genType, i...> & y) {
201 return vector<genType, i...>(fennec::pow(x[i], y[i]) ...);
204template<
typename genType,
size_t...i>
constexpr vector<genType, i...>
exp(
const vector<genType, i...>& x) {
205 return vector<genType, i...>(
fennec::exp(x[i]) ...);
208template<
typename genType,
size_t...i>
constexpr vector<genType, i...>
exp2(
const vector<genType, i...>& x) {
212template<
typename genType,
size_t...i>
constexpr genType
log(
const vector<genType, i...>& x) {
213 return vector<genType, i...>(
log(x[i]) ...);
216template<
typename genType,
size_t...i>
constexpr genType
log2(
const vector<genType, i...>& x) {
217 return vector<genType, i...>(
log2(x[i]) ...);
220template<
typename genType,
size_t...i>
constexpr genType
sqrt(
const vector<genType, i...>& x) {
224template<
typename genType,
size_t...i>
225constexpr vector<genType, i...>
inversesqrt(
const vector<genType, i...>& x) {
constexpr genType log(genType x)
Returns the natural logarithm of .
Definition exponential.h:149
constexpr genType exp2(genType x)
Returns 2 raised to the power, i.e., .
Definition exponential.h:135
constexpr genType log2(genType x)
Returns the base 2 logarithm of .
Definition exponential.h:164
constexpr genType inversesqrt(genType x)
Returns .
Definition exponential.h:192
constexpr genType pow(genType x, genType y)
Returns raised to the power, i.e., .
Definition exponential.h:108
constexpr genType sqrt(genType x)
Returns .
Definition exponential.h:178
constexpr genType exp(genType x)
Returns the natural exponentiation of , i.e., .
Definition exponential.h:122
constexpr genType y()
Definition constants.h:672