FXMaths.h File Reference


Detailed Description

Defines a number of tools useful for maths.

#include "FXProcess.h"
#include "QThread.h"
#include "FXStream.h"
#include "qmemarray.h"
#include <math.h>

Include dependency graph for FXMaths.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 Documentation

#define FXVECTOROFVECTORS ( VECTORTYPE,
ELEMENTS   ) 

Specialises a FX::Maths::Vector to be implemented as another vector.


(C) 2002-2008 Niall Douglas. Some parts (C) to assorted authors.
Generated on Fri Jun 13 21:54:50 2008 for TnFOX by doxygen v1.5.6