Ion
|
#include <algorithm>
#include <cmath>
#include "base/integral_types.h"
Go to the source code of this file.
Namespaces | |
ion | |
Copyright 2016 Google Inc. | |
ion::math | |
Functions | |
template<typename T > | |
bool | ion::math::IsFinite (T x) |
Tests whether a numeric value is finite. More... | |
template<typename T > | |
const T | ion::math::Abs (const T &val) |
Returns the absolute value of a number in a type-safe way. More... | |
template<typename T > | |
const T | ion::math::Square (const T &val) |
Squares a value. More... | |
template<typename T > | |
T | ion::math::Sqrt (const T &val) |
Returns the square root of a value. More... | |
template<> | |
float | ion::math::Sqrt (const float &val) |
template<typename T > | |
T | ion::math::Cosine (T angle) |
Returns the cosine of the given value. More... | |
template<> | |
float | ion::math::Cosine (float angle) |
float specialization of Cosine. More... | |
template<typename T > | |
T | ion::math::Sine (T angle) |
Returns the sine of the given value. More... | |
template<> | |
float | ion::math::Sine (float angle) |
float specialization of Sine. More... | |
template<typename T > | |
T | ion::math::Tangent (T angle) |
Returns the tangent of the given value. More... | |
template<> | |
float | ion::math::Tangent (float angle) |
float specialization of Tangent. More... | |
template<typename T > | |
T | ion::math::Factorial (int x) |
Returns the factorial (!) of x. More... | |
template<typename T > | |
T | ion::math::DoubleFactorial (int x) |
Returns the double factorial (!!) of x. More... | |
uint32 | ion::math::NextPowerOf2 (uint32 n) |
Returns the next power of 2 greater than or equal to n. More... | |
uint64 | ion::math::NextPowerOf2 (uint64 n) |
template<typename T > | |
T | ion::math::Log2 (T n) |
Returns the base-2 logarithm of n. More... | |
template<> | |
uint32 | ion::math::Log2 (uint32 n) |
Specialize for integer types. More... | |
template<> | |
int | ion::math::Log2 (int n) |
template<> | |
uint64 | ion::math::Log2 (uint64 n) |
template<> | |
int64 | ion::math::Log2 (int64 n) |
template<typename T > | |
const T | ion::math::Clamp (const T &val, const T &min_val, const T &max_val) |
Clamps a value to lie between a minimum and maximum, inclusive. More... | |
template<typename T , typename U > | |
const U | ion::math::Lerp (const U &begin, const U &end, const T &t) |
Linearly interpolates between two values. More... | |
bool | ion::math::IsPowerOfTwo (int value) |
Returns true if a value is a power of two. More... | |