FougTools  0.7.0dev-046fb6a
Handy tools for C++, Qt and OpenCascade
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Enumerations | Functions | Variables
math Namespace Reference

Classes

struct  BaseNumTraits
 Type traits on real numerical types (float, double, ...) More...
 
struct  FuncIteratorVecAccessTag
 Tag dispatch for iterator interface provided by static functions. More...
 
struct  Norm
 Computation of norms in K-vector space. More...
 
struct  NumTraits
 
struct  NumTraits< double >
 Specialization for double. More...
 
struct  NumTraits< float >
 Specialization for float. More...
 
struct  NumTraits< long double >
 Specialization for long double. More...
 
struct  PointerVecAccessTag
 Tag dispatch for vector coordinates to be accessed with a static constPointer() function. More...
 
struct  StdArrayVecAccessTag
 Tag dispatch for vector coordinates to be accessed with a temporary std::array<> object. More...
 
struct  StlIteratorVecAccessTag
 Tag dispatch for STL iterator interface. More...
 
struct  VecAccess
 Empty generic class to be specialized by vector type. More...
 
struct  VecAccessTag
 Base class for tag dispatching on how to access vector coordinates. More...
 
struct  VecTraits
 Type traits on vector types. More...
 

Typedefs

typedef Norm
< math::internal::EuclideanFunc > 
EuclideanNorm
 Provides computation of the euclidean norm More...
 
typedef Norm
< internal::ManhattanFunc > 
ManhattanNorm
 Provides computation of the manhattan(or taxicab) norm More...
 
typedef Norm
< internal::MaximumFunc > 
MaximumNorm
 Provides computation of the maximum norm More...
 
typedef Norm
< internal::SqrEuclideanFunc > 
SqrEuclideanNorm
 Provides computation of the squared euclidean norm. More...
 

Enumerations

enum  ComparisonCheckFlags {
  NoCheck = 0x1, InfinityCheck = 0x2, NanCheck = 0x4, SignCheck = 0x8,
  AllCheck = InfinityCheck | NanCheck | SignCheck
}
 

Functions

template<typename T >
bool equalByAbsError (const T &a, const T &b, const T &tol=static_cast< T >(1e-6))
 
template<typename T >
bool equalByRelError (const T &a, const T &b, const T &maxRelError=static_cast< T >(1e-5), const T &maxAbsError=std::numeric_limits< T >::epsilon())
 
template<typename T >
bool equalByIntDiff (const T &a, const T &b, typename __impl::TypeTraits< T >::IntegralType_t maxDistInts=10, ComparisonCheckFlags checkFlags=NoCheck)
 
template<typename T >
clamped (const T &v, const T &min, const T &max)
 
template<typename T >
double radianToDegree (const T &angle)
 
template<typename T >
double degreeToRadian (const T &angle)
 
template<typename T >
int sign (const T &v)
 
template<typename T >
square (const T &x)
 
template<typename T >
zero ()
 
template<typename T >
bool isPositive (const T &v)
 
template<typename T >
bool isNegative (const T &v)
 

Variables

const double pi = 3.1415926535897932384626433832795
 
const double pi2 = 6.283185307179586476925286766559
 

Typedef Documentation

typedef Norm<math::internal::EuclideanFunc> math::EuclideanNorm

Provides computation of the euclidean norm

typedef Norm<internal::ManhattanFunc> math::ManhattanNorm

Provides computation of the manhattan(or taxicab) norm

typedef Norm<internal::MaximumFunc> math::MaximumNorm

Provides computation of the maximum norm

typedef Norm<internal::SqrEuclideanFunc> math::SqrEuclideanNorm

Provides computation of the squared euclidean norm.

Enumeration Type Documentation

Enumerator
NoCheck 
InfinityCheck 
NanCheck 
SignCheck 
AllCheck 

Function Documentation

template<typename T >
T math::clamped ( const T &  v,
const T &  min,
const T &  max 
)
template<typename T >
double math::degreeToRadian ( const T &  angle)
template<typename T >
bool math::equalByAbsError ( const T &  a,
const T &  b,
const T &  tol = static_cast< T >(1e-6) 
)
template<typename T >
bool math::equalByIntDiff ( const T &  a,
const T &  b,
typename __impl::TypeTraits< T >::IntegralType_t  maxDistInts = 10,
ComparisonCheckFlags  checkFlags = NoCheck 
)
template<typename T >
bool math::equalByRelError ( const T &  a,
const T &  b,
const T &  maxRelError = static_cast< T >(1e-5),
const T &  maxAbsError = std::numeric_limits< T >::epsilon() 
)
template<typename T >
bool math::isNegative ( const T &  v)
template<typename T >
bool math::isPositive ( const T &  v)
template<typename T >
double math::radianToDegree ( const T &  angle)
template<typename T >
int math::sign ( const T &  v)
template<typename T >
T math::square ( const T &  x)
template<typename T >
T math::zero ( )

Variable Documentation

const double math::pi = 3.1415926535897932384626433832795
const double math::pi2 = 6.283185307179586476925286766559