TooN 2.1
Classes | Typedefs | Functions | Variables
TooN::Internal Namespace Reference

The namaespace holding all the internal code. More...

Classes

struct  Square
 Provides the static size for a square matrix. In the general case, if R != C, then the matrix is not square and so no size is provided. A compile error results. More...
struct  Square< R, R >
 Provides the static size for a square matrix where both dimensions are the same. More...
struct  Square< R, Dynamic >
 Provides the static size for a square matrix where one dimension is static. The size must be equal to the size of the static dimension. More...
struct  Square< Dynamic, C >
 Provides the static size for a square matrix where one dimension is static. The size must be equal to the size of the static dimension. More...
struct  Square< Dynamic, Dynamic >
 Provides the static size for a square matrix where both dimensions are dynamic. The size must be Dynamic. More...
struct  Size3
class  accumulate_functor_vector
class  accumulate_element_functor_vector
class  accumulate_functor_matrix
class  accumulate_element_functor_matrix
class  accumulate_vertical_functor
class  accumulate_element_vertical_functor
class  accumulate_horizontal_functor
class  accumulate_element_horizontal_functor
struct  ComputeSymEigen
 Compute eigensystems for sizes > 2 Helper struct for computing eigensystems, to allow for specialization on 2x2 matrices. More...
struct  ComputeSymEigen< 2 >
 Compute 2x2 eigensystems Helper struct for computing eigensystems, specialized on 2x2 matrices. More...
struct  ComputeSymEigen< 3 >
 Compute 3x3 eigensystems Helper struct for computing eigensystems, specialized on 3x3 matrices. More...
struct  Slicing
 A tag used to indicate that a slice is being constructed. More...
struct  SimpleSizer
struct  SimpleSizer< Dynamic, i >
struct  SimpleSizer< i, Dynamic >
struct  SimpleSizer< Dynamic, Dynamic >
struct  IsStatic
struct  Sizer
struct  Sizer< i, i >
struct  LineSearch
 Turn a multidimensional function in to a 1D function by specifying a point and direction. More...
struct  DefaultTypes
class  StackOrHeap< Size, Precision, 0 >
class  StackOrHeap< Size, double, 0 >
class  StackOrHeap< Size, Precision, 1 >
class  StaticSizedAllocator
 This allocator object sets aside memory for a statically sized object. It will put all the data on the stack if there are less then TooN::max_bytes_on_stack of data, otherwise it will use new/delete. More...
struct  VectorAlloc
 Allocate memory for a static sized Vector. The class switches to heap allocation automatically for large Vectors. Naturally, the vector is not resizable. More...
struct  VectorAlloc< Dynamic, Precision >
 Allocate memory for a dynamic sized Vector. This is not resizable. More...
struct  VectorAlloc< Resizable, Precision >
 Allocate memory for a resizable Vector. New elements available after a resize are treated as uninitialized. More...
struct  VectorSlice
 Hold a pointer to yield a statically sized slice of a Vector. Not resizable. More...
struct  VectorSlice< Dynamic, Precision, PtrType, ConstPtrType, RefType, ConstRefType >
 Hold a pointer to yield a dynamically sized slice of a Vector. Not resizable. More...
struct  SizeHolder
 This struct holds a size using no data for static sizes. This struct holds a size is the size is dynamic, or simply recorcs the number in the type system if the size is static. More...
struct  SizeHolder<-1 >
 This struct holds a size integer for dynamic sizes. More...
struct  RowSizeHolder
struct  ColSizeHolder
struct  MatrixAlloc
struct  MatrixAlloc< R, C, Precision, false >
struct  MatrixSlice
struct  StrideHolder
struct  StrideHolder<-1 >
struct  RowStrideHolder
struct  ColStrideHolder
struct  VectorFiller
struct  VectorStartFill
struct  MatrixFiller
struct  MatrixStartFill
struct  DCheck
struct  DCheck<-1 >
struct  SFINAE_dummy
struct  Slice
struct  DiagSize
struct  DiagSize< Rows, Cols, 0 >
struct  DiagStride
struct  DiagStride< Rs, Cs, 0 >
struct  GenericMBase
struct  One
 This class represents 1 and only in all its forms. More...
struct  NegType
 For an instance i of type C, what is the type of -i? Usually the answer is that is it the same type. More...
struct  NegType< One >
 The type of -One. More...
struct  Clean
struct  Clean< const C >
struct  Clean< const C & >
struct  Clean< C & >
struct  CField
struct  AddType
struct  SubtractType
struct  MultiplyType
struct  DivideType
struct  AddType< L, R, 0 >
struct  SubtractType< L, R, 0 >
struct  MultiplyType< L, R, 0 >
struct  DivideType< L, R, 0 >
struct  Add
struct  Subtract
struct  Multiply
struct  Divide
struct  Swap
struct  Swap< V, V, true >
struct  overfill< 0 >
struct  CheckOverFill
struct  CheckOverFill< N,-1 >
struct  CheckMOverFill
struct  CheckMOverFill< N, R, C, 1 >
struct  PointerToPlanarComplex< std::complex< Precision > >
struct  BadSlice< 0 >
 A static slice is OK. This class is used after it has been determined that a slice is OK. It does nothing except provide a callable function. By contrast, if the slice is not OK, then the class is not specified and the function is therefore not callable, and a compile error results. More...
struct  CheckSlice
 Check if a slice is OK. This class is used to see if a slice is OK. It provides a callable function which checks the run-time slice information. If the compile time information is bad, then it will not compile at all. Otherwise, the sizes are checked at run-time. The check will be optimized away if the sizes are known statically. More...
struct  Default
struct  SliceVBase
struct  SliceVBase< Stride, Default, Default, Default, Default >
struct  VBase
struct  GenericVBase
struct  CentralDifferenceGradient
 Functor wrapper for computing finite differences along an axis. More...
struct  CentralDifferenceSecond
 Functor wrapper for computing finite difference second derivatives along an axis. More...
struct  CentralCrossDifferenceSecond
 Functor wrapper for computing finite difference cross derivatives along a pair of axes. More...

Typedefs

typedef char OneSized [1]
typedef char TwoSized [2]

Functions

template<int R, int C, typename P , typename B >
Matrix< R, C, P > exp_taylor (const Matrix< R, C, P, B > &m)
template<int R, int C, typename P , typename B >
Matrix< R, C, P > log_taylor (const Matrix< R, C, P, B > &m)
template<int Size, typename Precision , typename Base , typename Func , typename Ret >
Ret accumulate (const Vector< Size, Precision, Base > &v)
template<int R, int C, typename Precision , typename Base , typename Func , typename Ret >
Ret accumulate (const Matrix< R, C, Precision, Base > &m)
template<int R, int C, typename Precision , typename Base , typename Func , typename Ret >
Ret accumulate_horizontal (const Matrix< R, C, Precision, Base > &m)
template<int R, int C, typename Precision , typename Base , typename Func , typename Ret >
Ret accumulate_vertical (const Matrix< R, C, Precision, Base > &m)
template<typename Precision >
Vector< 3, Precision > compute_rodrigues_coefficients_sim3 (const Precision &s, const Precision &t)
template<typename Precision , typename Func >
Matrix< 3, 2, Precision > bracket_minimum_forward (Precision a_val, const Func &func, Precision initial_lambda, Precision zeps)
static void check_index (int, int)
template<class P >
static void debug_initialize (P *, int)
template<class C >
const C & get ()
template<class Rhs >
Rhs operator* (One, const Rhs &v)
template<class Lhs >
Lhs operator* (const Lhs &v, One)
template<class Rhs >
Rhs operator+ (One, const Rhs &v)
template<class Lhs >
Lhs operator+ (const Lhs &v, One)
template<class Rhs >
Rhs operator- (One, const Rhs &v)
template<class Lhs >
Lhs operator- (const Lhs &v, One)
int operator- (const One &)
template<class C >
gettype ()
 TOON_CREATE_METHOD_DETECTOR (swap)
template<class F , class Precision >
std::pair< Precision, Precision > extrapolate_to_zero (F &f)

Variables

static const double symeigen_condition_no = 1e9
static const unsigned int max_bytes_on_stack = 1000

Detailed Description

The namaespace holding all the internal code.


Function Documentation

Matrix<R, C, P> TooN::Internal::exp_taylor ( const Matrix< R, C, P, B > &  m)

Exponentiate a matrix using a the Taylor series This will not work if the norm of the matrix is too large.

References TooN::Identity, TooN::norm_inf(), Matrix< Rows, Cols, Precision, Layout >::num_cols(), Matrix< Rows, Cols, Precision, Layout >::num_rows(), and TooN::Zeros.

Referenced by TooN::exp().

Matrix<R, C, P> TooN::Internal::log_taylor ( const Matrix< R, C, P, B > &  m)

Logarithm of a matrix using a the Taylor series This will not work if the norm of the matrix is too large.

References TooN::Identity, TooN::norm_inf(), Matrix< Rows, Cols, Precision, Layout >::num_cols(), Matrix< Rows, Cols, Precision, Layout >::num_rows(), and TooN::Zeros.

Referenced by TooN::log().

static void TooN::Internal::check_index ( int  ,
int   
) [static]

Function used to check bounds. By default it does nothing. See What debugging options are there?.

static void TooN::Internal::debug_initialize ( P *  ,
int   
) [static]

This function is called on any uninitialized data. By default, no action is taken. See What debugging options are there?.

C TooN::Internal::gettype ( )

This function offers to return a value of type C. This function is not implemented anywhere, the result is used for type deduction.


Variable Documentation

const unsigned int max_bytes_on_stack = 1000 [static]

Maximum number of bytes to be allocated on the stack. new is used above this number.