library of assembled shared sources

http://lass.cocamware.com

lass::num::NumTraits< C > Struct Template Reference

#include <num_traits.h>


Public Types

enum  {
  isDistribution = 0, isIntegral = 0, isNative = 0, isSigned = 0,
  hasInfinity = 0, hasNaN = 0, isFloatingPoint = 0
}
typedef C selfType
 our own type
typedef C baseType
 is the base type where selfType is based on
typedef C intervalType
 type of the support, useful for distributions

Static Public Member Functions

static const std::string name ()
 name of the selfType

Static Public Attributes

static const size_t memorySize = sizeof(float)
 memory footprint
static const size_t mantisseSize = std::numeric_limits<float>::digits
 number of bits used for mantisse, useful for error analysis
static const C one = 1.f
 definition of one
static const C zero = 0.f
 definition of zero
static const C sNaN = std::numeric_limits<float>::signaling_NaN()
 signaling Nan, see http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
static const C qNaN = std::numeric_limits<float>::quiet_NaN()
 quiet NaN, see http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
static const C epsilon = FLT_EPSILON
 the smallest positive value such that one + epsilon != one
static const C infinity = std::numeric_limits<float>::infinity()
 infinity
static const C min = -FLT_MAX
 the smallest value representable
static const C max = FLT_MAX
 the largest positive value
static const C minStrictPositive = FLT_MIN
 the smallest strictly positive value
static const C pi = float(LASS_NUM_PI)
static const C e = float(LASS_NUM_E)
static const C sqrt2 = float(LASS_NUM_SQRT_2)
static const C sqrtPi = float(LASS_NUM_SQRT_PI)


Detailed Description

template<class C>
struct lass::num::NumTraits< C >

Definition at line 59 of file num_traits.h.


Member Typedef Documentation

template<class C >
typedef C lass::num::NumTraits< C >::selfType

our own type

Definition at line 61 of file num_traits.h.

template<class C >
typedef C lass::num::NumTraits< C >::baseType

is the base type where selfType is based on

Definition at line 62 of file num_traits.h.

template<class C >
typedef C lass::num::NumTraits< C >::intervalType

type of the support, useful for distributions

Definition at line 63 of file num_traits.h.


Member Enumeration Documentation

template<class C >
anonymous enum

Enumerator:
isDistribution  true for distribution like types
isIntegral  true for integral types, ie supporting ++ and -- fi
isNative  true for the native types, ie char, int , .

..

isSigned  true for signed types
hasInfinity  true for types having infinity
hasNaN  true for types have the concept of Not a Number
isFloatingPoint  true for floating point types

Definition at line 65 of file num_traits.h.


Member Function Documentation

template<class C >
static const std::string lass::num::NumTraits< C >::name (  )  [inline, static]

name of the selfType

Definition at line 78 of file num_traits.h.

Referenced by lass::num::NumTraits< interval< C > >::name().


Field Documentation

template<class C >
const size_t lass::num::NumTraits< C >::memorySize = sizeof(float) [static]

memory footprint

Definition at line 76 of file num_traits.h.

template<class C >
const size_t lass::num::NumTraits< C >::mantisseSize = std::numeric_limits<float>::digits [static]

number of bits used for mantisse, useful for error analysis

Definition at line 77 of file num_traits.h.

Referenced by lass::num::FilteredFloat< T >::operator*=().

template<class C >
const std::complex< long double > lass::num::NumTraits< C >::one = 1.f [static]

definition of one

Definition at line 80 of file num_traits.h.

Referenced by lass::prim::atop(), lass::prim::ColorRGBA::clamped(), lass::prim::ColorRGBA::doMap(), lass::prim::ColorRGBA::exposed(), lass::prim::Point3DH< T >::homogenize(), lass::prim::Point2DH< T >::homogenize(), lass::prim::ColorRGBA::invExposed(), lass::num::Matrix< T, S >::isIdentity(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeDifferentiator(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeIntegrator(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeRlcBandPass(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeRlcHighPass(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeRlcLowPass(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeRlcNotch(), lass::prim::ColorRGBA::mapAutumn(), lass::prim::ColorRGBA::mapCool(), lass::prim::ColorRGBA::mapCopper(), lass::prim::ColorRGBA::mapGray(), lass::prim::ColorRGBA::mapSpring(), lass::prim::ColorRGBA::mapSummer(), lass::prim::ColorRGBA::mapWinter(), lass::num::Vector< T, S >::normal(), lass::io::Image::openTargaTrueColor(), lass::num::Polynomial< T >::operator()(), lass::num::DistributionNormal< T, RandomGenerator >::operator()(), lass::prim::Point3DH< T >::operator/=(), lass::prim::Point2DH< T >::operator/=(), lass::prim::ColorRGBA::operator/=(), lass::prim::out(), lass::prim::over(), lass::prim::LineSegment3D< T, ParameterPolicy >::point(), lass::prim::LineSegment2D< T, ParameterPolicy >::point(), lass::prim::Vector3D< T >::random(), lass::prim::Vector3D< T >::reciprocal(), lass::prim::Vector2D< T >::reciprocal(), lass::prim::Transformation3D< T >::rotation(), lass::num::Matrix< T, S >::setIdentity(), lass::prim::LineSegment3D< T, ParameterPolicy >::t(), lass::prim::LineSegment2D< T, ParameterPolicy >::t(), lass::prim::through(), lass::prim::Transformation2D< T >::Transformation2D(), and lass::prim::Transformation3D< T >::Transformation3D().

template<class C >
const std::complex< long double > lass::num::NumTraits< C >::zero = 0.f [static]

definition of zero

Definition at line 81 of file num_traits.h.

Referenced by lass::num::Polynomial< T >::at(), lass::prim::ColorRGBA::clamped(), lass::prim::Sphere3D< T >::classify(), lass::prim::Plane3D< T, EquationPolicy, NormalizingPolicy >::classify(), lass::prim::Line2D< T, EquationPolicy, NormalizingPolicy >::classify(), lass::prim::Triangle2D< T >::contains(), lass::prim::Sphere3D< T >::contains(), lass::num::IirFilter< T, InputIterator, OutputIterator >::doFilter(), lass::num::FirFilter< T, InputIterator, OutputIterator >::doFilter(), lass::prim::ColorRGBA::doMap(), lass::num::IirFilter< T, InputIterator, OutputIterator >::doReset(), lass::num::FirFilter< T, InputIterator, OutputIterator >::doReset(), lass::prim::Sphere3D< T >::equation(), lass::prim::impl::Plane3DParametric< T, NormalizingPolicy >::equation(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::equation(), lass::prim::impl::Plane3DCartesian< T, NormalizingPolicy >::equation(), lass::prim::impl::Line2DParametric< T, NormalizingPolicy >::equation(), lass::prim::impl::Line2DCombined< T, NormalizingPolicy >::equation(), lass::prim::impl::Line2DCartesian< T, NormalizingPolicy >::equation(), lass::prim::ColorRGBA::exposed(), lass::io::Image::filterMedian(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::fixDegenerate(), lass::num::IirFilter< T, InputIterator, OutputIterator >::init(), lass::num::Polynomial< T >::integral(), lass::prim::Transformation3D< T >::inverse(), lass::prim::Transformation2D< T >::inverse(), lass::prim::ColorRGBA::isBlack(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::isConvex(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::isConvex(), lass::num::Matrix< T, S >::isDiagonal(), lass::num::Matrix< T, S >::isIdentity(), lass::prim::Point3DH< T >::isInfinite(), lass::prim::Point2DH< T >::isInfinite(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::isReflex(), lass::prim::Sphere3D< T >::isValid(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::isValid(), lass::prim::Point3DH< T >::isValid(), lass::prim::Point2DH< T >::isValid(), lass::prim::Vector4D< T >::isZero(), lass::prim::Vector3D< T >::isZero(), lass::prim::Vector2D< T >::isZero(), lass::num::Vector< T, S >::isZero(), lass::prim::Point3DH< T >::isZero(), lass::prim::Point3D< T >::isZero(), lass::prim::Point2DH< T >::isZero(), lass::prim::Point2D< T >::isZero(), lass::num::Matrix< T, S >::isZero(), lass::prim::ColorRGBA::isZero(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeDifferentiator(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeIntegrator(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeRlcBandPass(), lass::num::IirFilter< T, InputIterator, OutputIterator >::makeRlcNotch(), lass::prim::ColorRGBA::mapAutumn(), lass::prim::ColorRGBA::mapCool(), lass::prim::ColorRGBA::mapCopper(), lass::prim::ColorRGBA::mapGray(), lass::prim::ColorRGBA::mapSpring(), lass::prim::ColorRGBA::mapSummer(), lass::prim::ColorRGBA::mapWinter(), lass::num::Vector< T, S >::max(), lass::num::Vector< T, S >::min(), lass::num::Polynomial< T >::operator()(), lass::num::DistributionExponential< T, RandomGenerator >::operator()(), lass::num::Polynomial< T >::operator*=(), lass::num::Polynomial< T >::operator+=(), lass::num::Polynomial< T >::operator-=(), lass::prim::Triangle2D< T >::orientation(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::orientation(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::orientation(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::perimeter(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::perimeter(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::point(), lass::prim::Ray2D< T, NormalizingPolicy, ParameterPolicy >::point(), lass::prim::LineSegment3D< T, ParameterPolicy >::point(), lass::prim::LineSegment2D< T, ParameterPolicy >::point(), lass::prim::Vector3D< T >::random(), lass::prim::Vector2D< T >::random(), lass::num::Matrix< T, S >::setIdentity(), lass::num::Matrix< T, S >::setZero(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::signedArea(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::signedArea(), lass::prim::Sphere3D< T >::signedDistance(), lass::num::Vector< T, S >::squaredNorm(), lass::num::Vector< T, S >::sum(), lass::prim::Transformation2D< T >::Transformation2D(), and lass::prim::Transformation3D< T >::Transformation3D().

template<class C >
const long double lass::num::NumTraits< C >::sNaN = std::numeric_limits<float>::signaling_NaN() [static]

template<class C >
const long double lass::num::NumTraits< C >::qNaN = std::numeric_limits<float>::quiet_NaN() [static]

template<class C >
const long double lass::num::NumTraits< C >::epsilon = FLT_EPSILON [static]

the smallest positive value such that one + epsilon != one

Definition at line 86 of file num_traits.h.

template<class C >
const long double lass::num::NumTraits< C >::infinity = std::numeric_limits<float>::infinity() [static]

infinity

Definition at line 87 of file num_traits.h.

template<class C >
const long double lass::num::NumTraits< C >::min = -FLT_MAX [static]

the smallest value representable

Definition at line 88 of file num_traits.h.

Referenced by lass::prim::Aabb3D< T, MinMaxPolicy >::clear(), and lass::prim::Aabb2D< T, MinMaxPolicy >::clear().

template<class C >
const long double lass::num::NumTraits< C >::max = FLT_MAX [static]

the largest positive value

Definition at line 89 of file num_traits.h.

Referenced by lass::prim::Aabb3D< T, MinMaxPolicy >::clear(), and lass::prim::Aabb2D< T, MinMaxPolicy >::clear().

template<class C >
const long double lass::num::NumTraits< C >::minStrictPositive = FLT_MIN [static]

the smallest strictly positive value

Definition at line 90 of file num_traits.h.

Referenced by lass::prim::ColorRGBA::invExposed().

template<class C >
const std::complex< long double > lass::num::NumTraits< C >::pi = float(LASS_NUM_PI) [static]

template<class C >
const std::complex< long double > lass::num::NumTraits< C >::e = float(LASS_NUM_E) [static]

Definition at line 92 of file num_traits.h.

template<class C >
const std::complex< long double > lass::num::NumTraits< C >::sqrt2 = float(LASS_NUM_SQRT_2) [static]

Definition at line 93 of file num_traits.h.

template<class C >
const std::complex< long double > lass::num::NumTraits< C >::sqrtPi = float(LASS_NUM_SQRT_PI) [static]

Definition at line 94 of file num_traits.h.


The documentation for this struct was generated from the following files:

Generated on Mon Nov 10 14:22:10 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo