FougTools
0.7.0dev-046fb6a
Handy tools for C++, Qt and OpenCascade
|
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 > | |
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 > | |
T | square (const T &x) |
template<typename T > | |
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 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.
T math::clamped | ( | const T & | v, |
const T & | min, | ||
const T & | max | ||
) |
double math::degreeToRadian | ( | const T & | angle | ) |
bool math::equalByAbsError | ( | const T & | a, |
const T & | b, | ||
const T & | tol = static_cast< T >(1e-6) |
||
) |
bool math::equalByIntDiff | ( | const T & | a, |
const T & | b, | ||
typename __impl::TypeTraits< T >::IntegralType_t | maxDistInts = 10 , |
||
ComparisonCheckFlags | checkFlags = NoCheck |
||
) |
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() |
||
) |
bool math::isNegative | ( | const T & | v | ) |
bool math::isPositive | ( | const T & | v | ) |
double math::radianToDegree | ( | const T & | angle | ) |
int math::sign | ( | const T & | v | ) |
T math::square | ( | const T & | x | ) |
T math::zero | ( | ) |
const double math::pi = 3.1415926535897932384626433832795 |
const double math::pi2 = 6.283185307179586476925286766559 |