#include "FXProcess.h"
#include "QThread.h"
#include "FXStream.h"
#include "qmemarray.h"
#include <math.h>
Namespaces | |
namespace | FX |
namespace | FX::Maths |
namespace | Maths |
namespace | FX::Maths::Impl |
Classes | |
struct | FX::Maths::InfinityValue< type, minus > |
Returns -inf or +inf floating point values. More... | |
struct | FX::Maths::NaNValue< type > |
Returns NaN floating point value. More... | |
class | FX::Maths::Vector< type, A > |
A SIMD based N dimensional vector. More... | |
class | FX::Maths::VectorArray< type, A, B > |
A static array of vectors. More... | |
class | FX::Maths::FRandomness |
A fast quality source of pseudo entropy. More... | |
class | FX::Maths::SysRandomness |
Threadsafe system source of randomness. More... | |
Defines | |
#define | VECTOR1OP(op) |
#define | VECTOR2OP(op) |
#define | VECTORP2OP(op) |
#define | VECTORFUNC(op) |
#define | VECTOR2FUNC(op) |
#define | VECTOR1OP(op) |
#define | VECTOR2OP(op) |
#define | VECTORP2OP(op) |
#define | VECTORFUNC(op) |
#define | VECTOR2FUNC(op) |
#define | FXVECTOROFVECTORS(VECTORTYPE, ELEMENTS) |
Functions | |
template<typename type> | |
const type & | FX::Maths::min (const type &a, const type &b) |
template<typename type> | |
const type & | FX::Maths::max (const type &a, const type &b) |
template<typename type> | |
type | FX::Maths::sqrt (const type &v) |
template<> | |
float | FX::Maths::sqrt< float > (const float &v) |
template<typename type> | |
type | FX::Maths::rcp (const type &v) |
template<typename type> | |
type | FX::Maths::rsqrt (const type &v) |
template<typename type> | |
bool | FX::Maths::isNaN (type val) throw () |
template<> | |
bool | FX::Maths::isNaN< float > (float val) throw () |
template<> | |
bool | FX::Maths::isNaN< double > (double val) throw () |
template<typename type, unsigned int A> | |
FXStream & | FX::Maths::operator<< (FXStream &s, const Vector< type, A > &v) |
template<typename type, unsigned int A> | |
FXStream & | FX::Maths::operator<< (FXStream &s, Vector< type, A > &v) |
double | FX::Maths::normalrand (FRandomness &src, double stddevs) throw () |
double | FX::Maths::normalrand (SysRandomness &src, double stddevs) throw () |
template<typename type> | |
type | FX::Maths::normaldist (type x, type stddevs) throw () |
template<typename type> | |
type | FX::Maths::mean (const type *FXRESTRICT array, FXuval len, FXuint stride=1, type *FXRESTRICT min=0, type *FXRESTRICT max=0, type *FXRESTRICT mode=0) throw () |
template<typename type> | |
type | FX::Maths::mean (const QMemArray< type > &array, FXuint stride=1, type *FXRESTRICT min=0, type *FXRESTRICT max=0, type *FXRESTRICT mode=0) throw () |
template<typename type> | |
type | FX::Maths::variance (const type *FXRESTRICT array, FXuval len, FXuint stride=1, const type *FXRESTRICT _mean=0) throw () |
template<typename type> | |
type | FX::Maths::variance (const QMemArray< type > &array, FXuint stride=1, const type *FXRESTRICT _mean=0) throw () |
template<typename type> | |
type | FX::Maths::stddev (const type *FXRESTRICT array, FXuval len, FXuint stride=1, const type *FXRESTRICT _mean=0) throw () |
template<typename type> | |
type | FX::Maths::stddev (const QMemArray< type > &array, FXuint stride=1, const type *FXRESTRICT _mean=0) throw () |
template<unsigned int buckets, typename type> | |
Vector< type, buckets+3 > | FX::Maths::distribution (const type *FXRESTRICT array, FXuval len, FXuint stride=1, const type *FXRESTRICT min=0, const type *FXRESTRICT max=0) throw () |
template<unsigned int buckets, typename type> | |
Vector< type, buckets+3 > | FX::Maths::distribution (const QMemArray< type > &array, FXuint stride=1, const type *FXRESTRICT min=0, const type *FXRESTRICT max=0) throw () |
Variables | |
FXAPI SysRandomness | FX::Maths::SysRandSrc |
#define FXVECTOROFVECTORS | ( | VECTORTYPE, | |||
ELEMENTS | ) |
Specialises a FX::Maths::Vector to be implemented as another vector.