nux-0.9.46

NuxCore/Math/MathUtility.h File Reference

#include <cstdio>
#include <cstdlib>
#include <cstdarg>
#include <cmath>
#include <cstring>
#include <ctime>
#include "Constants.h"

Go to the source code of this file.

Namespaces

namespace  nux

Defines

#define HAK32_SWAP(a, b)   (((a) ^= (b)), ((b) ^= (a)), ((a) ^= (b)))

Functions

template<typename T >
nux::Square (const T A)
template<typename T >
nux::Clamp (const T X, const T min_value, const T max_value)
template<typename T >
nux::ClampUp (const T X, const T min_value)
template<typename T >
nux::ClampDown (const T X, const T max_value)
template<typename T >
nux::Align (const T Ptr, int Alignment)
template<typename T >
const T nux::Rol (const T &a, const unsigned int n=1)
template<typename T >
const T nux::Ror (const T &a, const unsigned int n=1)
template<typename T >
void nux::Swap (T &a, T &b)
template<typename T >
void nux::Swap (T &a1, T &b1, T &a2, T &b2)
template<typename T >
void nux::Swap (T &a1, T &b1, T &a2, T &b2, T &a3, T &b3)
template<typename T >
void nux::Swap (T &a1, T &b1, T &a2, T &b2, T &a3, T &b3, T &a4, T &b4)
template<typename T >
void nux::Swap (T &a1, T &b1, T &a2, T &b2, T &a3, T &b3, T &a4, T &b4, T &a5, T &b5)
template<typename T >
void nux::Swap (T &a1, T &b1, T &a2, T &b2, T &a3, T &b3, T &a4, T &b4, T &a5, T &b5, T &a6, T &b6)
template<typename T >
const T nux::Abs (const T &a)
 Return the absolute value of a.
template<typename T >
const T & nux::Min (const T &a, const T &b)
 Return the minimum between a and b.
template<typename T >
const T & nux::Min (const T &a, const T &b, const T &c)
 Return the minimum between a, b and c.
template<typename T >
const T & nux::Min (const T &a, const T &b, const T &c, const T &d)
 Return the minimum between a, b, c and d.
template<typename T >
const T & nux::Max (const T &a, const T &b)
 Return the maximum between a and b.
template<typename T >
const T & nux::Max (const T &a, const T &b, const T &c)
 Return the maximum between a, b and c.
template<typename T >
const T & nux::Max (const T &a, const T &b, const T &c, const T &d)
 Return the maximum between a,b,c and d.
template<typename T >
nux::Max3 (const T A, const T B, const T C)
template<typename T >
nux::Min3 (const T A, const T B, const T C)
template<typename T >
nux::Sign (const T &x)
 Return the sign of x.
template<typename T >
nux::Modulo (const T &x, const T &m)
int nux::ModuloInt (const int x, const int m)
template<typename T >
nux::MinMod (const T &a, const T &b)
double nux::Random ()
 Return a random variable between [0,1[ (uniform distribution).
double nux::CRandom ()
 Return a random variable between [-1,1[ (uniform distribution).
double nux::RandomGaussian ()
 Return a random variable using a gaussian distribution and a variance of 1.
unsigned int nux::RandomUInt ()
unsigned int nux::RandomUInt (unsigned int max_random)
t_size nux::DiffPointer (void *Ptr0, void *Ptr1)
template<typename T >
nux::SubstractPointer (void *Ptr, t_size Value)
template<typename T >
nux::AddPointer (void *Ptr, t_size Value)
template<typename T >
nux::RoundUp (T Value, int Alignment)
 Round up to the nearest multiple of Alignment that is greater or equal to Value.
template<typename T >
nux::RoundDown (T Value, int Alignment)
 Round down to the nearest multiple of Alignment that is smaller or equal to Value.
template<typename T >
bool nux::IsAligned (T Value, int Alignment)
 Return true is Value is aligned on Alignment.
t_u16 nux::ReverseByteOrdering (t_u16 value)
t_u32 nux::ReverseByteOrdering (t_u32 value)
t_u64 nux::ReverseByteOrdering (t_u64 value)
bool nux::IsPowerOf2 (unsigned int n)
unsigned int nux::NextPowerOfTwo (unsigned int x)
unsigned int nux::GetLowerPowerOfTwoExponent (unsigned int x)
unsigned int nux::PowerOfTwo (int i)
unsigned int nux::Hak32_ClearLSBBit (unsigned int N)
unsigned int nux::Hak32_CountNumBits (unsigned int N)
unsigned int nux::Hak32_BitParity (unsigned int N)
bool nux::Hak32_CPULittleEndian ()
unsigned int nux::Hak32_Log2 (unsigned int N)
unsigned int nux::Hak32_Log10 (unsigned int N)
unsigned int nux::Hack32_TrailingZeroRight (unsigned int N)

Define Documentation

#define HAK32_SWAP (   a,
 
)    (((a) ^= (b)), ((b) ^= (a)), ((a) ^= (b)))